Add proper queue init and fetch functionality to RenderDriver
This commit is contained in:
@@ -30,7 +30,9 @@ namespace Nova {
|
||||
[[nodiscard]] virtual bool get_device_supports_surface(u32 index, SurfaceID surface) const = 0;
|
||||
virtual void select_device(u32 index) = 0;
|
||||
|
||||
[[nodiscard]] virtual QueueID get_queue() = 0;
|
||||
[[nodiscard]] virtual u32 choose_queue_family(QueueType type, SurfaceID surface) = 0;
|
||||
[[nodiscard]] virtual QueueID get_queue(u32 queue_family) = 0;
|
||||
virtual void free_queue(QueueID queue) = 0;
|
||||
|
||||
[[nodiscard]] virtual SurfaceID create_surface(WindowID window) = 0;
|
||||
virtual void destroy_surface(SurfaceID surface) = 0;
|
||||
|
||||
@@ -12,6 +12,7 @@ namespace Nova {
|
||||
enum class InputRate { VERTEX, INSTANCE };
|
||||
enum class PipelineType { GRAPHICS, COMPUTE };
|
||||
enum class PrimitiveTopology { POINT_LIST, LINE_LIST, LINE_STRIP, TRIANGLE_LIST, TRIANGLE_STRIP };
|
||||
enum class QueueType { UNDEFINED, GRAPHICS, COMPUTE, TRANSFER };
|
||||
enum class RenderAPI { DX12, VULKAN };
|
||||
enum class ShaderStage { VERTEX, FRAGMENT, GEOMETRY, TESS_CONTROL, TESS_EVAL, COMPUTE, MESH, TASK };
|
||||
|
||||
|
||||
Reference in New Issue
Block a user