mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
libs/vkd3d-shader: Add VKD3D_SHADER_STRIP_DEBUG compiler option.
This commit is contained in:
parent
dbfa823b42
commit
0afe0032b0
@ -28,6 +28,7 @@ extern "C" {
|
|||||||
enum vkd3d_shader_compiler_option
|
enum vkd3d_shader_compiler_option
|
||||||
{
|
{
|
||||||
VKD3D_SHADER_FLIP_Y = 0x00000001,
|
VKD3D_SHADER_FLIP_Y = 0x00000001,
|
||||||
|
VKD3D_SHADER_STRIP_DEBUG = 0x00000002,
|
||||||
|
|
||||||
VKD3D_SHADER_COMPILER_OPTIONS_FORCE_32_BIT = 0x7fffffff,
|
VKD3D_SHADER_COMPILER_OPTIONS_FORCE_32_BIT = 0x7fffffff,
|
||||||
};
|
};
|
||||||
|
@ -107,6 +107,11 @@ static void vkd3d_spirv_stream_free(struct vkd3d_spirv_stream *stream)
|
|||||||
vkd3d_free(stream->words);
|
vkd3d_free(stream->words);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void vkd3d_spirv_stream_clear(struct vkd3d_spirv_stream *stream)
|
||||||
|
{
|
||||||
|
stream->word_count = 0;
|
||||||
|
}
|
||||||
|
|
||||||
static bool vkd3d_spirv_stream_append(struct vkd3d_spirv_stream *dst_stream,
|
static bool vkd3d_spirv_stream_append(struct vkd3d_spirv_stream *dst_stream,
|
||||||
const struct vkd3d_spirv_stream *src_stream)
|
const struct vkd3d_spirv_stream *src_stream)
|
||||||
{
|
{
|
||||||
@ -2170,7 +2175,12 @@ void vkd3d_dxbc_compiler_handle_instruction(struct vkd3d_dxbc_compiler *compiler
|
|||||||
bool vkd3d_dxbc_compiler_generate_spirv(struct vkd3d_dxbc_compiler *compiler,
|
bool vkd3d_dxbc_compiler_generate_spirv(struct vkd3d_dxbc_compiler *compiler,
|
||||||
struct vkd3d_shader_code *spirv)
|
struct vkd3d_shader_code *spirv)
|
||||||
{
|
{
|
||||||
if (!vkd3d_spirv_compile_module(&compiler->spirv_builder, spirv))
|
struct vkd3d_spirv_builder *builder = &compiler->spirv_builder;
|
||||||
|
|
||||||
|
if (compiler->options & VKD3D_SHADER_STRIP_DEBUG)
|
||||||
|
vkd3d_spirv_stream_clear(&builder->debug_stream);
|
||||||
|
|
||||||
|
if (!vkd3d_spirv_compile_module(builder, spirv))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (TRACE_ON())
|
if (TRACE_ON())
|
||||||
|
@ -90,6 +90,7 @@ static const struct
|
|||||||
compiler_options[] =
|
compiler_options[] =
|
||||||
{
|
{
|
||||||
{"--flip-y", VKD3D_SHADER_FLIP_Y},
|
{"--flip-y", VKD3D_SHADER_FLIP_Y},
|
||||||
|
{"--strip-debug", VKD3D_SHADER_STRIP_DEBUG},
|
||||||
};
|
};
|
||||||
|
|
||||||
struct options
|
struct options
|
||||||
@ -142,7 +143,9 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
if (!parse_command_line(argc, argv, &options))
|
if (!parse_command_line(argc, argv, &options))
|
||||||
{
|
{
|
||||||
fprintf(stderr, "usage: %s [--flip-y] [-o <out_spirv_filename>] <dxbc_filename>\n", argv[0]);
|
fprintf(stderr,
|
||||||
|
"usage: %s [--strip-degug] [--flip-y] [-o <out_spirv_filename>] <dxbc_filename>\n",
|
||||||
|
argv[0]);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user