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_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
|
||||
|
||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||
endif()
|
||||
|
||||
|
@ -29,12 +29,13 @@ public:
|
||||
SHADER_PARSE_GET_RESOURCE(SSBO, storage_buffers)
|
||||
SHADER_PARSE_GET_RESOURCE(StageInputs, stage_inputs)
|
||||
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(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(Image, separate_images)
|
||||
SHADER_PARSE_GET_RESOURCE(Sampler, separate_samplers)
|
||||
SHADER_PARSE_GET_RESOURCE(SeparateImages, separate_images)
|
||||
SHADER_PARSE_GET_RESOURCE(SeparateSamplers, separate_samplers)
|
||||
|
||||
//SmallVector<Resource> atomic_counters;
|
||||
//SmallVector<Resource> acceleration_structures;
|
||||
|
30
glsl2spv.cpp
30
glsl2spv.cpp
@ -46,18 +46,10 @@ typedef enum VkDescriptorType {
|
||||
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
|
||||
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
|
||||
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;
|
||||
|
||||
constexpr uint32_t VK_DESCRIPTOR_TYPE_COUNT =VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
|
||||
-VK_DESCRIPTOR_TYPE_SAMPLER
|
||||
+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;
|
||||
-VK_DESCRIPTOR_TYPE_SAMPLER+1;
|
||||
|
||||
static TBuiltInResource default_build_in_resource;
|
||||
|
||||
@ -318,6 +310,8 @@ extern "C"
|
||||
|
||||
ShaderStageData input,output;
|
||||
ShaderResourceData resource[VK_DESCRIPTOR_TYPE_COUNT];
|
||||
ShaderResourceData push_constant;
|
||||
ShaderResourceData subpass_input;
|
||||
|
||||
void Init()
|
||||
{
|
||||
@ -325,6 +319,9 @@ extern "C"
|
||||
memset(&output,0,sizeof(ShaderStageData));
|
||||
|
||||
memset(&resource,0,sizeof(resource));
|
||||
|
||||
memset(&push_constant,0,sizeof(ShaderResourceData));
|
||||
memset(&subpass_input,0,sizeof(ShaderResourceData));
|
||||
}
|
||||
|
||||
void Clear()
|
||||
@ -332,6 +329,9 @@ extern "C"
|
||||
for(uint32_t i=0;i<VK_DESCRIPTOR_TYPE_COUNT;i++)
|
||||
delete[] resource[i].items;
|
||||
|
||||
delete[] push_constant.items;
|
||||
delete[] subpass_input.items;
|
||||
|
||||
delete[] input.items;
|
||||
delete[] output.items;
|
||||
}
|
||||
@ -551,13 +551,13 @@ extern "C"
|
||||
|
||||
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_COMBINED_IMAGE_SAMPLER, &sp,sp.GetImageSampler());
|
||||
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_SAMPLER, &sp,sp.GetSampler());
|
||||
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, &sp,sp.GetImage());
|
||||
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, &sp,sp.GetImage2D());
|
||||
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, &sp,sp.GetSampledImages());
|
||||
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_SAMPLER, &sp,sp.GetSeparateSamplers());
|
||||
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, &sp,sp.GetSeparateImages());
|
||||
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, &sp,sp.GetStorageImages());
|
||||
|
||||
OutputPushConstant (spv->resource+ResID_PushConstant, &sp,sp.GetPushConstant());
|
||||
OutputSubpassInput (spv->resource+ResID_SubpassInput, &sp,sp.GetSubpassInputs());
|
||||
OutputPushConstant (&(spv->push_constant), &sp,sp.GetPushConstant());
|
||||
OutputSubpassInput (&(spv->subpass_input), &sp,sp.GetSubpassInputs());
|
||||
}
|
||||
|
||||
return(spv);
|
||||
|
Loading…
x
Reference in New Issue
Block a user