mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-16 16:21:02 +00:00
vk: Fix shader logging
- Do not overwrite logged programs
This commit is contained in:
parent
4e9160104a
commit
541cb4062b
@ -454,7 +454,7 @@ void VKFragmentProgram::Decompile(const RSXFragmentProgram& prog)
|
|||||||
void VKFragmentProgram::Compile()
|
void VKFragmentProgram::Compile()
|
||||||
{
|
{
|
||||||
fs::create_path(fs::get_config_dir() + "/shaderlog");
|
fs::create_path(fs::get_config_dir() + "/shaderlog");
|
||||||
fs::file(fs::get_config_dir() + "shaderlog/FragmentProgram.spirv", fs::rewrite).write(shader);
|
fs::file(fs::get_config_dir() + "shaderlog/FragmentProgram" + std::to_string(id) + ".spirv", fs::rewrite).write(shader);
|
||||||
|
|
||||||
std::vector<u32> spir_v;
|
std::vector<u32> spir_v;
|
||||||
if (!vk::compile_glsl_to_spv(shader, glsl::glsl_fragment_program, spir_v))
|
if (!vk::compile_glsl_to_spv(shader, glsl::glsl_fragment_program, spir_v))
|
||||||
@ -470,8 +470,6 @@ void VKFragmentProgram::Compile()
|
|||||||
|
|
||||||
VkDevice dev = (VkDevice)*vk::get_current_renderer();
|
VkDevice dev = (VkDevice)*vk::get_current_renderer();
|
||||||
vkCreateShaderModule(dev, &fs_info, nullptr, &handle);
|
vkCreateShaderModule(dev, &fs_info, nullptr, &handle);
|
||||||
|
|
||||||
id = UINT32_MAX;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void VKFragmentProgram::Delete()
|
void VKFragmentProgram::Delete()
|
||||||
|
@ -83,16 +83,16 @@ struct VKTraits
|
|||||||
void recompile_fragment_program(const RSXFragmentProgram &RSXFP, fragment_program_type& fragmentProgramData, size_t ID)
|
void recompile_fragment_program(const RSXFragmentProgram &RSXFP, fragment_program_type& fragmentProgramData, size_t ID)
|
||||||
{
|
{
|
||||||
fragmentProgramData.Decompile(RSXFP);
|
fragmentProgramData.Decompile(RSXFP);
|
||||||
fragmentProgramData.Compile();
|
|
||||||
fragmentProgramData.id = static_cast<u32>(ID);
|
fragmentProgramData.id = static_cast<u32>(ID);
|
||||||
|
fragmentProgramData.Compile();
|
||||||
}
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
void recompile_vertex_program(const RSXVertexProgram &RSXVP, vertex_program_type& vertexProgramData, size_t ID)
|
void recompile_vertex_program(const RSXVertexProgram &RSXVP, vertex_program_type& vertexProgramData, size_t ID)
|
||||||
{
|
{
|
||||||
vertexProgramData.Decompile(RSXVP);
|
vertexProgramData.Decompile(RSXVP);
|
||||||
vertexProgramData.Compile();
|
|
||||||
vertexProgramData.id = static_cast<u32>(ID);
|
vertexProgramData.id = static_cast<u32>(ID);
|
||||||
|
vertexProgramData.Compile();
|
||||||
}
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
|
@ -338,7 +338,7 @@ void VKVertexProgram::Decompile(const RSXVertexProgram& prog)
|
|||||||
void VKVertexProgram::Compile()
|
void VKVertexProgram::Compile()
|
||||||
{
|
{
|
||||||
fs::create_path(fs::get_config_dir() + "/shaderlog");
|
fs::create_path(fs::get_config_dir() + "/shaderlog");
|
||||||
fs::file(fs::get_config_dir() + "shaderlog/VertexProgram.spirv", fs::rewrite).write(shader);
|
fs::file(fs::get_config_dir() + "shaderlog/VertexProgram" + std::to_string(id) + ".spirv", fs::rewrite).write(shader);
|
||||||
|
|
||||||
std::vector<u32> spir_v;
|
std::vector<u32> spir_v;
|
||||||
if (!vk::compile_glsl_to_spv(shader, glsl::glsl_vertex_program, spir_v))
|
if (!vk::compile_glsl_to_spv(shader, glsl::glsl_vertex_program, spir_v))
|
||||||
@ -353,8 +353,6 @@ void VKVertexProgram::Compile()
|
|||||||
|
|
||||||
VkDevice dev = (VkDevice)*vk::get_current_renderer();
|
VkDevice dev = (VkDevice)*vk::get_current_renderer();
|
||||||
vkCreateShaderModule(dev, &vs_info, nullptr, &handle);
|
vkCreateShaderModule(dev, &vs_info, nullptr, &handle);
|
||||||
|
|
||||||
id = UINT32_MAX;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void VKVertexProgram::Delete()
|
void VKVertexProgram::Delete()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user