1
0
Fork 1
forked from suyu/suyu

hle: nvflinger: Migrate android namespace -> Service::android.

This commit is contained in:
bunnei 2022-03-19 21:51:16 -07:00
parent 5849c9a4cd
commit ca12a77670
35 changed files with 76 additions and 79 deletions

View file

@ -13,7 +13,7 @@ class HLERequestContext;
class KReadableEvent;
} // namespace Kernel
namespace android {
namespace Service::android {
enum class TransactionId {
RequestBuffer = 1,
@ -39,4 +39,4 @@ public:
virtual Kernel::KReadableEvent& GetNativeHandle() = 0;
};
} // namespace android
} // namespace Service::android

View file

@ -13,7 +13,7 @@
#include "core/hle/service/nvflinger/ui/rect.h"
#include "core/hle/service/nvflinger/window.h"
namespace android {
namespace Service::android {
class GraphicBuffer;
@ -43,4 +43,4 @@ public:
s32 swap_interval{};
};
} // namespace android
} // namespace Service::android

View file

@ -10,7 +10,7 @@
#include "core/hle/service/nvflinger/buffer_item_consumer.h"
#include "core/hle/service/nvflinger/buffer_queue_consumer.h"
namespace android {
namespace Service::android {
BufferItemConsumer::BufferItemConsumer(std::unique_ptr<BufferQueueConsumer> consumer_)
: ConsumerBase{std::move(consumer_)} {}
@ -56,4 +56,4 @@ Status BufferItemConsumer::ReleaseBuffer(const BufferItem& item, Fence& release_
return Status::NoError;
}
} // namespace android
} // namespace Service::android

View file

@ -12,7 +12,7 @@
#include "core/hle/service/nvflinger/consumer_base.h"
#include "core/hle/service/nvflinger/status.h"
namespace android {
namespace Service::android {
class BufferItem;
@ -23,4 +23,4 @@ public:
Status ReleaseBuffer(const BufferItem& item, Fence& release_fence);
};
} // namespace android
} // namespace Service::android

View file

@ -10,7 +10,7 @@
#include "core/hle/service/nvflinger/buffer_queue_core.h"
#include "core/hle/service/nvflinger/producer_listener.h"
namespace android {
namespace Service::android {
BufferQueueConsumer::BufferQueueConsumer(std::shared_ptr<BufferQueueCore> core_)
: core{std::move(core_)}, slots{core->slots} {}
@ -222,4 +222,4 @@ Status BufferQueueConsumer::Connect(std::shared_ptr<IConsumerListener> consumer_
return Status::NoError;
}
} // namespace android
} // namespace Service::android

View file

@ -12,7 +12,7 @@
#include "core/hle/service/nvflinger/buffer_queue_defs.h"
#include "core/hle/service/nvflinger/status.h"
namespace android {
namespace Service::android {
class BufferItem;
class BufferQueueCore;
@ -33,4 +33,4 @@ private:
BufferQueueDefs::SlotsType& slots;
};
} // namespace android
} // namespace Service::android

View file

@ -8,12 +8,9 @@
#include "core/hle/service/nvflinger/buffer_queue_core.h"
namespace android {
BufferQueueCore::BufferQueueCore() : lock{mutex} {
// This is locked on creation, so unlock.
lock.unlock();
namespace Service::android {
BufferQueueCore::BufferQueueCore() : lock{mutex, std::defer_lock} {
for (s32 slot = 0; slot < BufferQueueDefs::NUM_BUFFER_SLOTS; ++slot) {
free_slots.insert(slot);
}
@ -132,4 +129,4 @@ void BufferQueueCore::WaitWhileAllocatingLocked() const {
}
}
} // namespace android
} // namespace Service::android

View file

@ -19,7 +19,7 @@
#include "core/hle/service/nvflinger/status.h"
#include "core/hle/service/nvflinger/window.h"
namespace android {
namespace Service::android {
class IConsumerListener;
class IProducerListener;
@ -95,4 +95,4 @@ private:
bool is_shutting_down{};
};
} // namespace android
} // namespace Service::android

View file

@ -11,11 +11,11 @@
#include "common/common_types.h"
#include "core/hle/service/nvflinger/buffer_slot.h"
namespace android::BufferQueueDefs {
namespace Service::android::BufferQueueDefs {
// BufferQueue will keep track of at most this value of buffers.
constexpr s32 NUM_BUFFER_SLOTS = 64;
using SlotsType = std::array<BufferSlot, NUM_BUFFER_SLOTS>;
} // namespace android::BufferQueueDefs
} // namespace Service::android::BufferQueueDefs

View file

@ -23,7 +23,7 @@
#include "core/hle/service/nvflinger/window.h"
#include "core/hle/service/vi/vi.h"
namespace android {
namespace Service::android {
BufferQueueProducer::BufferQueueProducer(Service::KernelHelpers::ServiceContext& service_context_,
std::shared_ptr<BufferQueueCore> buffer_queue_core_)
@ -936,4 +936,4 @@ Kernel::KReadableEvent& BufferQueueProducer::GetNativeHandle() {
return buffer_wait_event->GetReadableEvent();
}
} // namespace android
} // namespace Service::android

View file

@ -31,7 +31,7 @@ namespace Service::KernelHelpers {
class ServiceContext;
} // namespace Service::KernelHelpers
namespace android {
namespace Service::android {
class BufferQueueCore;
class IProducerListener;
@ -80,4 +80,4 @@ private:
std::condition_variable callback_condition;
};
} // namespace android
} // namespace Service::android

View file

@ -11,7 +11,7 @@
#include "common/common_types.h"
#include "core/hle/service/nvflinger/ui/fence.h"
namespace android {
namespace Service::android {
class GraphicBuffer;
@ -36,4 +36,4 @@ struct BufferSlot final {
bool is_preallocated{};
};
} // namespace android
} // namespace Service::android

View file

@ -5,7 +5,7 @@
#include "common/common_types.h"
namespace android {
namespace Service::android {
enum class BufferTransformFlags : u32 {
/// No transform flags are set
@ -22,4 +22,4 @@ enum class BufferTransformFlags : u32 {
Rotate270 = 0x07,
};
} // namespace android
} // namespace Service::android

View file

@ -12,7 +12,7 @@
#include "core/hle/service/nvflinger/consumer_base.h"
#include "core/hle/service/nvflinger/ui/graphic_buffer.h"
namespace android {
namespace Service::android {
ConsumerBase::ConsumerBase(std::unique_ptr<BufferQueueConsumer> consumer_)
: consumer{std::move(consumer_)} {}
@ -126,4 +126,4 @@ bool ConsumerBase::StillTracking(s32 slot, const std::shared_ptr<GraphicBuffer>
slots[slot].graphic_buffer->Handle() == graphic_buffer->Handle());
}
} // namespace android
} // namespace Service::android

View file

@ -15,7 +15,7 @@
#include "core/hle/service/nvflinger/consumer_listener.h"
#include "core/hle/service/nvflinger/status.h"
namespace android {
namespace Service::android {
class BufferItem;
class BufferQueueConsumer;
@ -56,4 +56,4 @@ protected:
mutable std::mutex mutex;
};
} // namespace android
} // namespace Service::android

View file

@ -6,7 +6,7 @@
#pragma once
namespace android {
namespace Service::android {
class BufferItem;
@ -23,4 +23,4 @@ public:
virtual void OnSidebandStreamChanged() = 0;
};
}; // namespace android
}; // namespace Service::android

View file

@ -9,7 +9,7 @@
#include "core/hle/service/nvflinger/graphic_buffer_producer.h"
#include "core/hle/service/nvflinger/parcel.h"
namespace android {
namespace Service::android {
QueueBufferInput::QueueBufferInput(Parcel& parcel) {
parcel.ReadFlattened(*this);
@ -17,4 +17,4 @@ QueueBufferInput::QueueBufferInput(Parcel& parcel) {
QueueBufferOutput::QueueBufferOutput() = default;
} // namespace android
} // namespace Service::android

View file

@ -12,7 +12,7 @@
#include "core/hle/service/nvflinger/ui/rect.h"
#include "core/hle/service/nvflinger/window.h"
namespace android {
namespace Service::android {
class Parcel;
@ -75,4 +75,4 @@ private:
#pragma pack(pop)
static_assert(sizeof(QueueBufferOutput) == 16, "QueueBufferOutput has wrong size");
} // namespace android
} // namespace Service::android

View file

@ -37,10 +37,10 @@ class Display;
class Layer;
} // namespace Service::VI
namespace android {
namespace Service::android {
class BufferQueueCore;
class BufferQueueProducer;
} // namespace android
} // namespace Service::android
namespace Service::NVFlinger {

View file

@ -10,7 +10,7 @@
#include "common/assert.h"
#include "common/common_types.h"
namespace android {
namespace Service::android {
class Parcel final {
public:
@ -168,4 +168,4 @@ private:
std::size_t write_index = sizeof(Header);
};
} // namespace android
} // namespace Service::android

View file

@ -5,7 +5,7 @@
#include "common/common_types.h"
namespace android {
namespace Service::android {
enum class PixelFormat : u32 {
NoFormat = 0,
@ -18,4 +18,4 @@ enum class PixelFormat : u32 {
Rgba4444 = 7,
};
} // namespace android
} // namespace Service::android

View file

@ -6,11 +6,11 @@
#pragma once
namespace android {
namespace Service::android {
class IProducerListener {
public:
virtual void OnBufferReleased() = 0;
};
} // namespace android
} // namespace Service::android

View file

@ -6,7 +6,7 @@
#include "common/common_funcs.h"
#include "common/common_types.h"
namespace android {
namespace Service::android {
enum class Status : s32 {
None = 0,
@ -25,4 +25,4 @@ enum class Status : s32 {
};
DECLARE_ENUM_FLAG_OPERATORS(Status);
} // namespace android
} // namespace Service::android

View file

@ -11,7 +11,7 @@
#include "common/common_types.h"
#include "core/hle/service/nvdrv/nvdata.h"
namespace android {
namespace Service::android {
class Fence {
public:
@ -29,4 +29,4 @@ public:
};
static_assert(sizeof(Fence) == 36, "Fence has wrong size");
} // namespace android
} // namespace Service::android

View file

@ -10,7 +10,7 @@
#include "common/common_types.h"
#include "core/hle/service/nvflinger/pixel_format.h"
namespace android {
namespace Service::android {
class GraphicBuffer final {
public:
@ -97,4 +97,4 @@ private:
};
static_assert(sizeof(GraphicBuffer) == 0x16C, "GraphicBuffer has wrong size");
} // namespace android
} // namespace Service::android

View file

@ -11,7 +11,7 @@
#include "common/common_types.h"
namespace android {
namespace Service::android {
class Rect final {
public:
@ -72,4 +72,4 @@ private:
};
static_assert(sizeof(Rect) == 16, "Rect has wrong size");
} // namespace android
} // namespace Service::android

View file

@ -6,7 +6,7 @@
#include "common/common_funcs.h"
#include "common/common_types.h"
namespace android {
namespace Service::android {
/// Attributes queryable with Query
enum class NativeWindow : s32 {
@ -50,4 +50,4 @@ enum class NativeWindowTransform : u32 {
};
DECLARE_ENUM_FLAG_OPERATORS(NativeWindowTransform);
} // namespace android
} // namespace Service::android

View file

@ -15,7 +15,7 @@ namespace Kernel {
class KEvent;
}
namespace android {
namespace Service::android {
class BufferQueueProducer;
}

View file

@ -8,11 +8,11 @@
#include "common/common_types.h"
namespace android {
namespace Service::android {
class BufferItemConsumer;
class BufferQueueCore;
class BufferQueueProducer;
} // namespace android
} // namespace Service::android
namespace Service::VI {

View file

@ -20,8 +20,8 @@ struct FramebufferConfig {
u32 width{};
u32 height{};
u32 stride{};
android::PixelFormat pixel_format{};
android::BufferTransformFlags transform_flags{};
Service::android::PixelFormat pixel_format{};
Service::android::BufferTransformFlags transform_flags{};
Common::Rectangle<int> crop_rect;
};

View file

@ -323,12 +323,12 @@ void RendererOpenGL::ConfigureFramebufferTexture(TextureInfo& texture,
GLint internal_format;
switch (framebuffer.pixel_format) {
case android::PixelFormat::Rgba8888:
case Service::android::PixelFormat::Rgba8888:
internal_format = GL_RGBA8;
texture.gl_format = GL_RGBA;
texture.gl_type = GL_UNSIGNED_INT_8_8_8_8_REV;
break;
case android::PixelFormat::Rgb565:
case Service::android::PixelFormat::Rgb565:
internal_format = GL_RGB565;
texture.gl_format = GL_RGB;
texture.gl_type = GL_UNSIGNED_SHORT_5_6_5;
@ -464,8 +464,8 @@ void RendererOpenGL::DrawScreen(const Layout::FramebufferLayout& layout) {
const auto& texcoords = screen_info.display_texcoords;
auto left = texcoords.left;
auto right = texcoords.right;
if (framebuffer_transform_flags != android::BufferTransformFlags::Unset) {
if (framebuffer_transform_flags == android::BufferTransformFlags::FlipV) {
if (framebuffer_transform_flags != Service::android::BufferTransformFlags::Unset) {
if (framebuffer_transform_flags == Service::android::BufferTransformFlags::FlipV) {
// Flip the framebuffer vertically
left = texcoords.right;
right = texcoords.left;

View file

@ -46,7 +46,7 @@ struct TextureInfo {
GLsizei height;
GLenum gl_format;
GLenum gl_type;
android::PixelFormat pixel_format;
Service::android::PixelFormat pixel_format;
};
/// Structure used for storing information about the display target for the Switch screen
@ -135,7 +135,7 @@ private:
std::vector<u8> gl_framebuffer_data;
/// Used for transforming the framebuffer orientation
android::BufferTransformFlags framebuffer_transform_flags{};
Service::android::BufferTransformFlags framebuffer_transform_flags{};
Common::Rectangle<int> framebuffer_crop_rect;
};

View file

@ -94,11 +94,11 @@ std::size_t GetSizeInBytes(const Tegra::FramebufferConfig& framebuffer) {
VkFormat GetFormat(const Tegra::FramebufferConfig& framebuffer) {
switch (framebuffer.pixel_format) {
case android::PixelFormat::Rgba8888:
case Service::android::PixelFormat::Rgba8888:
return VK_FORMAT_A8B8G8R8_UNORM_PACK32;
case android::PixelFormat::Rgb565:
case Service::android::PixelFormat::Rgb565:
return VK_FORMAT_R5G6B5_UNORM_PACK16;
case android::PixelFormat::Bgra8888:
case Service::android::PixelFormat::Bgra8888:
return VK_FORMAT_B8G8R8A8_UNORM;
default:
UNIMPLEMENTED_MSG("Unknown framebuffer pixel format: {}",
@ -1390,9 +1390,9 @@ void VKBlitScreen::SetVertexData(BufferData& data, const Tegra::FramebufferConfi
auto right = texcoords.right;
switch (framebuffer_transform_flags) {
case android::BufferTransformFlags::Unset:
case Service::android::BufferTransformFlags::Unset:
break;
case android::BufferTransformFlags::FlipV:
case Service::android::BufferTransformFlags::FlipV:
// Flip the framebuffer vertically
left = texcoords.right;
right = texcoords.left;

View file

@ -190,13 +190,13 @@ PixelFormat PixelFormatFromRenderTargetFormat(Tegra::RenderTargetFormat format)
}
}
PixelFormat PixelFormatFromGPUPixelFormat(android::PixelFormat format) {
PixelFormat PixelFormatFromGPUPixelFormat(Service::android::PixelFormat format) {
switch (format) {
case android::PixelFormat::Rgba8888:
case Service::android::PixelFormat::Rgba8888:
return PixelFormat::A8B8G8R8_UNORM;
case android::PixelFormat::Rgb565:
case Service::android::PixelFormat::Rgb565:
return PixelFormat::R5G6B5_UNORM;
case android::PixelFormat::Bgra8888:
case Service::android::PixelFormat::Bgra8888:
return PixelFormat::B8G8R8A8_UNORM;
default:
UNIMPLEMENTED_MSG("Unimplemented format={}", format);

View file

@ -460,7 +460,7 @@ PixelFormat PixelFormatFromDepthFormat(Tegra::DepthFormat format);
PixelFormat PixelFormatFromRenderTargetFormat(Tegra::RenderTargetFormat format);
PixelFormat PixelFormatFromGPUPixelFormat(android::PixelFormat format);
PixelFormat PixelFormatFromGPUPixelFormat(Service::android::PixelFormat format);
SurfaceType GetFormatType(PixelFormat pixel_format);