improved codes....(you can not update)
This commit is contained in:
parent
1b777626f7
commit
322728f0bc
@ -21,6 +21,7 @@ ELSE()
|
|||||||
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MT")
|
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MT")
|
||||||
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
|
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
|
||||||
|
|
||||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -29,12 +29,13 @@ public:
|
|||||||
SHADER_PARSE_GET_RESOURCE(SSBO, storage_buffers)
|
SHADER_PARSE_GET_RESOURCE(SSBO, storage_buffers)
|
||||||
SHADER_PARSE_GET_RESOURCE(StageInputs, stage_inputs)
|
SHADER_PARSE_GET_RESOURCE(StageInputs, stage_inputs)
|
||||||
SHADER_PARSE_GET_RESOURCE(StageOutputs, stage_outputs)
|
SHADER_PARSE_GET_RESOURCE(StageOutputs, stage_outputs)
|
||||||
SHADER_PARSE_GET_RESOURCE(ImageSampler, sampled_images)
|
|
||||||
SHADER_PARSE_GET_RESOURCE(SubpassInputs, subpass_inputs)
|
SHADER_PARSE_GET_RESOURCE(SubpassInputs, subpass_inputs)
|
||||||
SHADER_PARSE_GET_RESOURCE(Image2D, storage_images)
|
SHADER_PARSE_GET_RESOURCE(StorageImages, storage_images)
|
||||||
|
SHADER_PARSE_GET_RESOURCE(SampledImages, sampled_images)
|
||||||
|
SHADER_PARSE_GET_RESOURCE(AtomicCounters, atomic_counters)
|
||||||
SHADER_PARSE_GET_RESOURCE(PushConstant, push_constant_buffers)
|
SHADER_PARSE_GET_RESOURCE(PushConstant, push_constant_buffers)
|
||||||
SHADER_PARSE_GET_RESOURCE(Image, separate_images)
|
SHADER_PARSE_GET_RESOURCE(SeparateImages, separate_images)
|
||||||
SHADER_PARSE_GET_RESOURCE(Sampler, separate_samplers)
|
SHADER_PARSE_GET_RESOURCE(SeparateSamplers, separate_samplers)
|
||||||
|
|
||||||
//SmallVector<Resource> atomic_counters;
|
//SmallVector<Resource> atomic_counters;
|
||||||
//SmallVector<Resource> acceleration_structures;
|
//SmallVector<Resource> acceleration_structures;
|
||||||
|
32
glsl2spv.cpp
32
glsl2spv.cpp
@ -46,18 +46,10 @@ typedef enum VkDescriptorType {
|
|||||||
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
|
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
|
||||||
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
|
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
|
||||||
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
|
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
|
||||||
VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
|
|
||||||
VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,
|
|
||||||
VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,
|
|
||||||
VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
|
|
||||||
} VkDescriptorType;
|
} VkDescriptorType;
|
||||||
|
|
||||||
constexpr uint32_t VK_DESCRIPTOR_TYPE_COUNT =VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
|
constexpr uint32_t VK_DESCRIPTOR_TYPE_COUNT =VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
|
||||||
-VK_DESCRIPTOR_TYPE_SAMPLER
|
-VK_DESCRIPTOR_TYPE_SAMPLER+1;
|
||||||
+1+2; // One for push_constant, one for subpass_input.
|
|
||||||
|
|
||||||
constexpr uint32_t ResID_PushConstant =VK_DESCRIPTOR_TYPE_COUNT-2;
|
|
||||||
constexpr uint32_t ResID_SubpassInput =VK_DESCRIPTOR_TYPE_COUNT-1;
|
|
||||||
|
|
||||||
static TBuiltInResource default_build_in_resource;
|
static TBuiltInResource default_build_in_resource;
|
||||||
|
|
||||||
@ -318,6 +310,8 @@ extern "C"
|
|||||||
|
|
||||||
ShaderStageData input,output;
|
ShaderStageData input,output;
|
||||||
ShaderResourceData resource[VK_DESCRIPTOR_TYPE_COUNT];
|
ShaderResourceData resource[VK_DESCRIPTOR_TYPE_COUNT];
|
||||||
|
ShaderResourceData push_constant;
|
||||||
|
ShaderResourceData subpass_input;
|
||||||
|
|
||||||
void Init()
|
void Init()
|
||||||
{
|
{
|
||||||
@ -325,6 +319,9 @@ extern "C"
|
|||||||
memset(&output,0,sizeof(ShaderStageData));
|
memset(&output,0,sizeof(ShaderStageData));
|
||||||
|
|
||||||
memset(&resource,0,sizeof(resource));
|
memset(&resource,0,sizeof(resource));
|
||||||
|
|
||||||
|
memset(&push_constant,0,sizeof(ShaderResourceData));
|
||||||
|
memset(&subpass_input,0,sizeof(ShaderResourceData));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Clear()
|
void Clear()
|
||||||
@ -332,6 +329,9 @@ extern "C"
|
|||||||
for(uint32_t i=0;i<VK_DESCRIPTOR_TYPE_COUNT;i++)
|
for(uint32_t i=0;i<VK_DESCRIPTOR_TYPE_COUNT;i++)
|
||||||
delete[] resource[i].items;
|
delete[] resource[i].items;
|
||||||
|
|
||||||
|
delete[] push_constant.items;
|
||||||
|
delete[] subpass_input.items;
|
||||||
|
|
||||||
delete[] input.items;
|
delete[] input.items;
|
||||||
delete[] output.items;
|
delete[] output.items;
|
||||||
}
|
}
|
||||||
@ -548,16 +548,16 @@ extern "C"
|
|||||||
|
|
||||||
OutputShaderStage(&(spv->input),&sp,sp.GetStageInputs());
|
OutputShaderStage(&(spv->input),&sp,sp.GetStageInputs());
|
||||||
OutputShaderStage(&(spv->output),&sp,sp.GetStageOutputs());
|
OutputShaderStage(&(spv->output),&sp,sp.GetStageOutputs());
|
||||||
|
|
||||||
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, &sp,sp.GetUBO());
|
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, &sp,sp.GetUBO());
|
||||||
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, &sp,sp.GetSSBO());
|
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, &sp,sp.GetSSBO());
|
||||||
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, &sp,sp.GetImageSampler());
|
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, &sp,sp.GetSampledImages());
|
||||||
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_SAMPLER, &sp,sp.GetSampler());
|
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_SAMPLER, &sp,sp.GetSeparateSamplers());
|
||||||
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, &sp,sp.GetImage());
|
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, &sp,sp.GetSeparateImages());
|
||||||
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, &sp,sp.GetImage2D());
|
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, &sp,sp.GetStorageImages());
|
||||||
|
|
||||||
OutputPushConstant (spv->resource+ResID_PushConstant, &sp,sp.GetPushConstant());
|
OutputPushConstant (&(spv->push_constant), &sp,sp.GetPushConstant());
|
||||||
OutputSubpassInput (spv->resource+ResID_SubpassInput, &sp,sp.GetSubpassInputs());
|
OutputSubpassInput (&(spv->subpass_input), &sp,sp.GetSubpassInputs());
|
||||||
}
|
}
|
||||||
|
|
||||||
return(spv);
|
return(spv);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user