update support VkVulkanSDK 1.2.141
This commit is contained in:
parent
2960bdbb81
commit
532a8e3b56
@ -1 +1 @@
|
|||||||
Subproject commit c879515d448d129ada207364e223c59694204b86
|
Subproject commit 89d5cb4fd6e13f7017ac35aa2232d8851c4782ca
|
@ -21,6 +21,18 @@ VK_NAMESPACE_BEGIN
|
|||||||
ShaderBindingList binding_list;
|
ShaderBindingList binding_list;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifndef VK_DESCRIPTOR_TYPE_BEGIN_RANGE
|
||||||
|
constexpr size_t VK_DESCRIPTOR_TYPE_BEGIN_RANGE=VK_DESCRIPTOR_TYPE_SAMPLER;
|
||||||
|
#endif//VK_DESCRIPTOR_TYPE_BEGIN_RANGE
|
||||||
|
|
||||||
|
#ifndef VK_DESCRIPTOR_TYPE_END_RANGE
|
||||||
|
constexpr size_t VK_DESCRIPTOR_TYPE_END_RANGE=VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
|
||||||
|
#endif//VK_DESCRIPTOR_TYPE_END_RANGE
|
||||||
|
|
||||||
|
#ifndef VK_DESCRIPTOR_TYPE_RANGE_SIZE
|
||||||
|
constexpr size_t VK_DESCRIPTOR_TYPE_RANGE_SIZE=VK_DESCRIPTOR_TYPE_END_RANGE-VK_DESCRIPTOR_TYPE_BEGIN_RANGE+1;
|
||||||
|
#endif//VK_DESCRIPTOR_TYPE_RANGE_SIZE
|
||||||
|
|
||||||
class ShaderResource
|
class ShaderResource
|
||||||
{
|
{
|
||||||
const void *data;
|
const void *data;
|
||||||
|
@ -27,6 +27,18 @@ public:
|
|||||||
|
|
||||||
constexpr size_t MAX_SAMPLE_MASK_COUNT=(VK_SAMPLE_COUNT_64_BIT+31)/32;
|
constexpr size_t MAX_SAMPLE_MASK_COUNT=(VK_SAMPLE_COUNT_64_BIT+31)/32;
|
||||||
|
|
||||||
|
#ifndef VK_DYNAMIC_STATE_BEGIN_RANGE
|
||||||
|
constexpr size_t VK_DYNAMIC_STATE_BEGIN_RANGE=VK_DYNAMIC_STATE_VIEWPORT;
|
||||||
|
#endif//VK_DYNAMIC_STATE_BEGIN_RANGE
|
||||||
|
|
||||||
|
#ifndef VK_DYNAMIC_STATE_END_RANGE
|
||||||
|
constexpr size_t VK_DYNAMIC_STATE_END_RANGE=VK_DYNAMIC_STATE_STENCIL_REFERENCE;
|
||||||
|
#endif//VK_DYNAMIC_STATE_END_RANGE
|
||||||
|
|
||||||
|
#ifndef VK_DYNAMIC_STATE_RANGE_SIZE
|
||||||
|
constexpr size_t VK_DYNAMIC_STATE_RANGE_SIZE=VK_DYNAMIC_STATE_END_RANGE-VK_DYNAMIC_STATE_BEGIN_RANGE+1;
|
||||||
|
#endif//VK_DYNAMIC_STATE_RANGE_SIZE
|
||||||
|
|
||||||
class PipelineCreater
|
class PipelineCreater
|
||||||
{
|
{
|
||||||
VkDevice device;
|
VkDevice device;
|
||||||
|
@ -15,8 +15,8 @@
|
|||||||
#define PRIM_TRIANGLE_STRIP_ADJ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY ///<4+2N个Vertices代表N个Primitive,其中1,3,5,7,9...代表原本的Triangle strip形成Triangle,而2,4,6,8,10...代表邻近提供信息的点.(由1起算)
|
#define PRIM_TRIANGLE_STRIP_ADJ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY ///<4+2N个Vertices代表N个Primitive,其中1,3,5,7,9...代表原本的Triangle strip形成Triangle,而2,4,6,8,10...代表邻近提供信息的点.(由1起算)
|
||||||
#define PRIM_PATCHS VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
|
#define PRIM_PATCHS VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
|
||||||
#define PRIM_RECTANGLE 0x100 ///<矩形(并非原生支持。以画点形式在每个点的Position中传递Left,Top,Width,Height。在Geometry Shader中转换为2个三角形。用于2D游戏或UI)
|
#define PRIM_RECTANGLE 0x100 ///<矩形(并非原生支持。以画点形式在每个点的Position中传递Left,Top,Width,Height。在Geometry Shader中转换为2个三角形。用于2D游戏或UI)
|
||||||
#define PRIM_BEGIN VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE
|
#define PRIM_BEGIN VK_PRIMITIVE_TOPOLOGY_POINT_LIST
|
||||||
#define PRIM_END VK_PRIMITIVE_TOPOLOGY_END_RANGE
|
#define PRIM_END VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
|
||||||
#define PRIM_RANGE VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE
|
constexpr uint32_t PRIM_RANGE =PRIM_END-PRIM_BEGIN+1;
|
||||||
|
|
||||||
#endif//HGL_GRAPH_VULKAN_PRIMITIVE_INCLUDE
|
#endif//HGL_GRAPH_VULKAN_PRIMITIVE_INCLUDE
|
||||||
|
@ -131,8 +131,7 @@ Texture2D *CreateTextureFromFile(Device *device,const OSString &filename)
|
|||||||
|
|
||||||
const VkFormat format=file_header.vk_format();
|
const VkFormat format=file_header.vk_format();
|
||||||
|
|
||||||
if(format<=VK_FORMAT_BEGIN_RANGE
|
if(!CheckVulkanFormat(format))
|
||||||
||format>=VK_FORMAT_END_RANGE)
|
|
||||||
return(nullptr);
|
return(nullptr);
|
||||||
|
|
||||||
const uint total_bytes=file_header.total_bytes();
|
const uint total_bytes=file_header.total_bytes();
|
||||||
|
@ -320,6 +320,18 @@ namespace
|
|||||||
#undef OUT_PHYSICAL_DEVICE_LIMIT_INTEGER
|
#undef OUT_PHYSICAL_DEVICE_LIMIT_INTEGER
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE
|
||||||
|
#define VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE VK_PHYSICAL_DEVICE_TYPE_OTHER
|
||||||
|
#endif//VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE
|
||||||
|
|
||||||
|
#ifndef VK_PHYSICAL_DEVICE_TYPE_END_RANGE
|
||||||
|
#define VK_PHYSICAL_DEVICE_TYPE_END_RANGE VK_PHYSICAL_DEVICE_TYPE_CPU
|
||||||
|
#endif//VK_PHYSICAL_DEVICE_TYPE_END_RANGE
|
||||||
|
|
||||||
|
#ifndef VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE
|
||||||
|
constexpr size_t VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE=VK_PHYSICAL_DEVICE_TYPE_END_RANGE-VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE+1;
|
||||||
|
#endif//VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE
|
||||||
|
|
||||||
void DebugOut(const VkPhysicalDeviceProperties &pdp)
|
void DebugOut(const VkPhysicalDeviceProperties &pdp)
|
||||||
{
|
{
|
||||||
constexpr char DeviceTypeString[VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE][16]=
|
constexpr char DeviceTypeString[VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE][16]=
|
||||||
@ -346,6 +358,18 @@ namespace
|
|||||||
}
|
}
|
||||||
}//namespace
|
}//namespace
|
||||||
|
|
||||||
|
#ifndef VK_DRIVER_ID_BEGIN_RANGE
|
||||||
|
#define VK_DRIVER_ID_BEGIN_RANGE VK_DRIVER_ID_AMD_PROPRIETARY
|
||||||
|
#endif//VK_DRIVER_ID_BEGIN_RANGE
|
||||||
|
|
||||||
|
#ifndef VK_DRIVER_ID_END_RANGE
|
||||||
|
#define VK_DRIVER_ID_END_RANGE VK_DRIVER_ID_MESA_LLVMPIPE
|
||||||
|
#endif//VK_DRIVER_ID_END_RANGE
|
||||||
|
|
||||||
|
#ifndef VK_DRIVER_ID_RANGE_SIZE
|
||||||
|
constexpr size_t VK_DRIVER_ID_RANGE_SIZE=VK_DRIVER_ID_END_RANGE-VK_DRIVER_ID_BEGIN_RANGE+1;
|
||||||
|
#endif//VK_DRIVER_ID_RANGE_SIZE
|
||||||
|
|
||||||
Device *CreateRenderDevice(VkInstance inst,const PhysicalDevice *physical_device,VkSurfaceKHR surface,const VkExtent2D &extent)
|
Device *CreateRenderDevice(VkInstance inst,const PhysicalDevice *physical_device,VkSurfaceKHR surface,const VkExtent2D &extent)
|
||||||
{
|
{
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
VK_NAMESPACE_BEGIN
|
VK_NAMESPACE_BEGIN
|
||||||
VkImage Device::CreateImage(const VkFormat format,uint32_t width,uint32_t height,const uint usage,const VkImageTiling tiling)
|
VkImage Device::CreateImage(const VkFormat format,uint32_t width,uint32_t height,const uint usage,const VkImageTiling tiling)
|
||||||
{
|
{
|
||||||
if(format<VK_FORMAT_BEGIN_RANGE||format>VK_FORMAT_END_RANGE)return(nullptr);
|
if(!CheckVulkanFormat(format))return(nullptr);
|
||||||
if(width<1||height<1)return(nullptr);
|
if(width<1||height<1)return(nullptr);
|
||||||
|
|
||||||
VkImageCreateInfo imageCreateInfo;
|
VkImageCreateInfo imageCreateInfo;
|
||||||
|
@ -218,7 +218,7 @@ PipelineCreater::PipelineCreater(Device *dev,const Material *material,const Rend
|
|||||||
|
|
||||||
bool PipelineCreater::Set(const VkPrimitiveTopology topology,bool restart)
|
bool PipelineCreater::Set(const VkPrimitiveTopology topology,bool restart)
|
||||||
{
|
{
|
||||||
if(topology<VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE||topology>VK_PRIMITIVE_TOPOLOGY_END_RANGE)
|
if(topology<PRIM_BEGIN||topology>PRIM_END)
|
||||||
if(topology!=PRIM_RECTANGLE)return(false);
|
if(topology!=PRIM_RECTANGLE)return(false);
|
||||||
|
|
||||||
inputAssembly.sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO;
|
inputAssembly.sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user