From 4ee16fd19317ddf195f6ffff27b2c81f045cac79 Mon Sep 17 00:00:00 2001 From: DrChat Date: Sun, 12 Feb 2017 18:47:53 -0600 Subject: [PATCH] Vulkan UI: Fix invalid push constant usage in immediate.frag/vert (and update shaders) --- .../gpu/vulkan/shaders/bin/dummy_frag.txt | 64 ++--- .../shaders/bin/line_quad_list_geom.txt | 104 +++---- .../vulkan/shaders/bin/point_list_geom.txt | 96 +++---- .../gpu/vulkan/shaders/bin/quad_list_geom.txt | 72 ++--- .../gpu/vulkan/shaders/bin/rect_list_geom.txt | 218 +++++++-------- .../ui/vulkan/shaders/bin/blit_color_frag.txt | 94 +++---- .../ui/vulkan/shaders/bin/blit_depth_frag.txt | 70 ++--- src/xenia/ui/vulkan/shaders/bin/blit_vert.h | 227 ++++++++-------- src/xenia/ui/vulkan/shaders/bin/blit_vert.spv | Bin 1392 -> 1376 bytes src/xenia/ui/vulkan/shaders/bin/blit_vert.txt | 140 +++++----- .../ui/vulkan/shaders/bin/immediate_frag.h | 206 +++++++------- .../ui/vulkan/shaders/bin/immediate_frag.spv | Bin 1448 -> 1324 bytes .../ui/vulkan/shaders/bin/immediate_frag.txt | 158 ++++++----- .../ui/vulkan/shaders/bin/immediate_vert.h | 253 +++++++++--------- .../ui/vulkan/shaders/bin/immediate_vert.spv | Bin 1592 -> 1512 bytes .../ui/vulkan/shaders/bin/immediate_vert.txt | 158 ++++++----- src/xenia/ui/vulkan/shaders/immediate.frag | 3 +- src/xenia/ui/vulkan/shaders/immediate.vert | 3 +- 18 files changed, 917 insertions(+), 949 deletions(-) diff --git a/src/xenia/gpu/vulkan/shaders/bin/dummy_frag.txt b/src/xenia/gpu/vulkan/shaders/bin/dummy_frag.txt index 5eb0234fc..72d654041 100644 --- a/src/xenia/gpu/vulkan/shaders/bin/dummy_frag.txt +++ b/src/xenia/gpu/vulkan/shaders/bin/dummy_frag.txt @@ -29,9 +29,9 @@ OpName %textures4D "textures4D" OpName %in_interpolators "in_interpolators" OpName %oC "oC" - OpDecorate %_arr_v4float_10 ArrayStride 16 - OpDecorate %_arr_uint_12 ArrayStride 16 - OpDecorate %_arr_uint_14 ArrayStride 16 + OpDecorate %_arr_v4float_uint_512 ArrayStride 16 + OpDecorate %_arr_uint_uint_32 ArrayStride 16 + OpDecorate %_arr_uint_uint_8 ArrayStride 16 OpMemberDecorate %consts_type 0 Offset 0 OpMemberDecorate %consts_type 1 Offset 8192 OpMemberDecorate %consts_type 2 Offset 8704 @@ -59,13 +59,13 @@ %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 %uint = OpTypeInt 32 0 - %10 = OpConstant %uint 512 -%_arr_v4float_10 = OpTypeArray %v4float %10 - %12 = OpConstant %uint 32 -%_arr_uint_12 = OpTypeArray %uint %12 - %14 = OpConstant %uint 8 -%_arr_uint_14 = OpTypeArray %uint %14 -%consts_type = OpTypeStruct %_arr_v4float_10 %_arr_uint_12 %_arr_uint_14 + %uint_512 = OpConstant %uint 512 +%_arr_v4float_uint_512 = OpTypeArray %v4float %uint_512 + %uint_32 = OpConstant %uint 32 +%_arr_uint_uint_32 = OpTypeArray %uint %uint_32 + %uint_8 = OpConstant %uint 8 +%_arr_uint_uint_8 = OpTypeArray %uint %uint_8 +%consts_type = OpTypeStruct %_arr_v4float_uint_512 %_arr_uint_uint_32 %_arr_uint_uint_8 %_ptr_Uniform_consts_type = OpTypePointer Uniform %consts_type %consts = OpVariable %_ptr_Uniform_consts_type Uniform %push_consts_type = OpTypeStruct %v4float %v4float %v4float %v4float %uint @@ -73,34 +73,34 @@ %push_constants = OpVariable %_ptr_PushConstant_push_consts_type PushConstant %22 = OpTypeImage %float 1D 0 0 0 1 Unknown %23 = OpTypeSampledImage %22 - %_arr_23_12 = OpTypeArray %23 %12 -%_ptr_UniformConstant__arr_23_12 = OpTypePointer UniformConstant %_arr_23_12 - %textures1D = OpVariable %_ptr_UniformConstant__arr_23_12 UniformConstant +%_arr_23_uint_32 = OpTypeArray %23 %uint_32 +%_ptr_UniformConstant__arr_23_uint_32 = OpTypePointer UniformConstant %_arr_23_uint_32 + %textures1D = OpVariable %_ptr_UniformConstant__arr_23_uint_32 UniformConstant %27 = OpTypeImage %float 2D 0 0 0 1 Unknown %28 = OpTypeSampledImage %27 - %_arr_28_12 = OpTypeArray %28 %12 -%_ptr_UniformConstant__arr_28_12 = OpTypePointer UniformConstant %_arr_28_12 - %textures2D = OpVariable %_ptr_UniformConstant__arr_28_12 UniformConstant +%_arr_28_uint_32 = OpTypeArray %28 %uint_32 +%_ptr_UniformConstant__arr_28_uint_32 = OpTypePointer UniformConstant %_arr_28_uint_32 + %textures2D = OpVariable %_ptr_UniformConstant__arr_28_uint_32 UniformConstant %32 = OpTypeImage %float 3D 0 0 0 1 Unknown %33 = OpTypeSampledImage %32 - %_arr_33_12 = OpTypeArray %33 %12 -%_ptr_UniformConstant__arr_33_12 = OpTypePointer UniformConstant %_arr_33_12 - %textures3D = OpVariable %_ptr_UniformConstant__arr_33_12 UniformConstant +%_arr_33_uint_32 = OpTypeArray %33 %uint_32 +%_ptr_UniformConstant__arr_33_uint_32 = OpTypePointer UniformConstant %_arr_33_uint_32 + %textures3D = OpVariable %_ptr_UniformConstant__arr_33_uint_32 UniformConstant %37 = OpTypeImage %float Cube 0 0 0 1 Unknown %38 = OpTypeSampledImage %37 - %_arr_38_12 = OpTypeArray %38 %12 -%_ptr_UniformConstant__arr_38_12 = OpTypePointer UniformConstant %_arr_38_12 - %textures4D = OpVariable %_ptr_UniformConstant__arr_38_12 UniformConstant - %42 = OpConstant %uint 16 -%_arr_v4float_42 = OpTypeArray %v4float %42 - %44 = OpConstant %uint 1 -%_arr__arr_v4float_42_44 = OpTypeArray %_arr_v4float_42 %44 -%_ptr_Input__arr__arr_v4float_42_44 = OpTypePointer Input %_arr__arr_v4float_42_44 -%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_42_44 Input - %48 = OpConstant %uint 4 -%_arr_v4float_48 = OpTypeArray %v4float %48 -%_ptr_Output__arr_v4float_48 = OpTypePointer Output %_arr_v4float_48 - %oC = OpVariable %_ptr_Output__arr_v4float_48 Output +%_arr_38_uint_32 = OpTypeArray %38 %uint_32 +%_ptr_UniformConstant__arr_38_uint_32 = OpTypePointer UniformConstant %_arr_38_uint_32 + %textures4D = OpVariable %_ptr_UniformConstant__arr_38_uint_32 UniformConstant + %uint_16 = OpConstant %uint 16 +%_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16 + %uint_1 = OpConstant %uint 1 +%_arr__arr_v4float_uint_16_uint_1 = OpTypeArray %_arr_v4float_uint_16 %uint_1 +%_ptr_Input__arr__arr_v4float_uint_16_uint_1 = OpTypePointer Input %_arr__arr_v4float_uint_16_uint_1 +%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_uint_16_uint_1 Input + %uint_4 = OpConstant %uint 4 +%_arr_v4float_uint_4 = OpTypeArray %v4float %uint_4 +%_ptr_Output__arr_v4float_uint_4 = OpTypePointer Output %_arr_v4float_uint_4 + %oC = OpVariable %_ptr_Output__arr_v4float_uint_4 Output %main = OpFunction %void None %3 %5 = OpLabel OpReturn diff --git a/src/xenia/gpu/vulkan/shaders/bin/line_quad_list_geom.txt b/src/xenia/gpu/vulkan/shaders/bin/line_quad_list_geom.txt index cc78b4da3..035c04db4 100644 --- a/src/xenia/gpu/vulkan/shaders/bin/line_quad_list_geom.txt +++ b/src/xenia/gpu/vulkan/shaders/bin/line_quad_list_geom.txt @@ -48,98 +48,98 @@ %_ptr_Output_gl_PerVertex = OpTypePointer Output %gl_PerVertex %_ = OpVariable %_ptr_Output_gl_PerVertex Output %int = OpTypeInt 32 1 - %12 = OpConstant %int 0 + %int_0 = OpConstant %int 0 %gl_PerVertex_0 = OpTypeStruct %v4float %float %uint = OpTypeInt 32 0 - %15 = OpConstant %uint 4 -%_arr_gl_PerVertex_0_15 = OpTypeArray %gl_PerVertex_0 %15 -%_ptr_Input__arr_gl_PerVertex_0_15 = OpTypePointer Input %_arr_gl_PerVertex_0_15 - %gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_0_15 Input + %uint_4 = OpConstant %uint 4 +%_arr_gl_PerVertex_0_uint_4 = OpTypeArray %gl_PerVertex_0 %uint_4 +%_ptr_Input__arr_gl_PerVertex_0_uint_4 = OpTypePointer Input %_arr_gl_PerVertex_0_uint_4 + %gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_0_uint_4 Input %_ptr_Input_v4float = OpTypePointer Input %v4float %_ptr_Output_v4float = OpTypePointer Output %v4float - %24 = OpConstant %int 1 + %int_1 = OpConstant %int 1 %_ptr_Input_float = OpTypePointer Input %float %_ptr_Output_float = OpTypePointer Output %float - %30 = OpConstant %uint 16 -%_arr_v4float_30 = OpTypeArray %v4float %30 -%_ptr_Output__arr_v4float_30 = OpTypePointer Output %_arr_v4float_30 -%out_interpolators = OpVariable %_ptr_Output__arr_v4float_30 Output -%_arr__arr_v4float_30_15 = OpTypeArray %_arr_v4float_30 %15 -%_ptr_Input__arr__arr_v4float_30_15 = OpTypePointer Input %_arr__arr_v4float_30_15 -%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_30_15 Input -%_ptr_Input__arr_v4float_30 = OpTypePointer Input %_arr_v4float_30 - %48 = OpConstant %int 2 - %57 = OpConstant %int 3 + %uint_16 = OpConstant %uint 16 +%_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16 +%_ptr_Output__arr_v4float_uint_16 = OpTypePointer Output %_arr_v4float_uint_16 +%out_interpolators = OpVariable %_ptr_Output__arr_v4float_uint_16 Output +%_arr__arr_v4float_uint_16_uint_4 = OpTypeArray %_arr_v4float_uint_16 %uint_4 +%_ptr_Input__arr__arr_v4float_uint_16_uint_4 = OpTypePointer Input %_arr__arr_v4float_uint_16_uint_4 +%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_uint_16_uint_4 Input +%_ptr_Input__arr_v4float_uint_16 = OpTypePointer Input %_arr_v4float_uint_16 + %int_2 = OpConstant %int 2 + %int_3 = OpConstant %int 3 %v2float = OpTypeVector %float 2 -%_arr_v2float_15 = OpTypeArray %v2float %15 -%_ptr_Input__arr_v2float_15 = OpTypePointer Input %_arr_v2float_15 -%_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_15 Input -%_arr_float_15 = OpTypeArray %float %15 -%_ptr_Input__arr_float_15 = OpTypePointer Input %_arr_float_15 -%_in_point_size_unused = OpVariable %_ptr_Input__arr_float_15 Input +%_arr_v2float_uint_4 = OpTypeArray %v2float %uint_4 +%_ptr_Input__arr_v2float_uint_4 = OpTypePointer Input %_arr_v2float_uint_4 +%_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_uint_4 Input +%_arr_float_uint_4 = OpTypeArray %float %uint_4 +%_ptr_Input__arr_float_uint_4 = OpTypePointer Input %_arr_float_uint_4 +%_in_point_size_unused = OpVariable %_ptr_Input__arr_float_uint_4 Input %_ptr_Output_v2float = OpTypePointer Output %v2float %_out_point_coord_unused = OpVariable %_ptr_Output_v2float Output %_out_point_size_unused = OpVariable %_ptr_Output_float Output %main = OpFunction %void None %3 %5 = OpLabel - %20 = OpAccessChain %_ptr_Input_v4float %gl_in %12 %12 + %20 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0 %21 = OpLoad %v4float %20 - %23 = OpAccessChain %_ptr_Output_v4float %_ %12 + %23 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %23 %21 - %26 = OpAccessChain %_ptr_Input_float %gl_in %12 %24 + %26 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_1 %27 = OpLoad %float %26 - %29 = OpAccessChain %_ptr_Output_float %_ %24 + %29 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %29 %27 - %38 = OpAccessChain %_ptr_Input__arr_v4float_30 %in_interpolators %12 - %39 = OpLoad %_arr_v4float_30 %38 + %38 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0 + %39 = OpLoad %_arr_v4float_uint_16 %38 OpStore %out_interpolators %39 OpEmitVertex - %40 = OpAccessChain %_ptr_Input_v4float %gl_in %24 %12 + %40 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0 %41 = OpLoad %v4float %40 - %42 = OpAccessChain %_ptr_Output_v4float %_ %12 + %42 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %42 %41 - %43 = OpAccessChain %_ptr_Input_float %gl_in %24 %24 + %43 = OpAccessChain %_ptr_Input_float %gl_in %int_1 %int_1 %44 = OpLoad %float %43 - %45 = OpAccessChain %_ptr_Output_float %_ %24 + %45 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %45 %44 - %46 = OpAccessChain %_ptr_Input__arr_v4float_30 %in_interpolators %24 - %47 = OpLoad %_arr_v4float_30 %46 + %46 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_1 + %47 = OpLoad %_arr_v4float_uint_16 %46 OpStore %out_interpolators %47 OpEmitVertex - %49 = OpAccessChain %_ptr_Input_v4float %gl_in %48 %12 + %49 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0 %50 = OpLoad %v4float %49 - %51 = OpAccessChain %_ptr_Output_v4float %_ %12 + %51 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %51 %50 - %52 = OpAccessChain %_ptr_Input_float %gl_in %48 %24 + %52 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1 %53 = OpLoad %float %52 - %54 = OpAccessChain %_ptr_Output_float %_ %24 + %54 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %54 %53 - %55 = OpAccessChain %_ptr_Input__arr_v4float_30 %in_interpolators %48 - %56 = OpLoad %_arr_v4float_30 %55 + %55 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_2 + %56 = OpLoad %_arr_v4float_uint_16 %55 OpStore %out_interpolators %56 OpEmitVertex - %58 = OpAccessChain %_ptr_Input_v4float %gl_in %57 %12 + %58 = OpAccessChain %_ptr_Input_v4float %gl_in %int_3 %int_0 %59 = OpLoad %v4float %58 - %60 = OpAccessChain %_ptr_Output_v4float %_ %12 + %60 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %60 %59 - %61 = OpAccessChain %_ptr_Input_float %gl_in %57 %24 + %61 = OpAccessChain %_ptr_Input_float %gl_in %int_3 %int_1 %62 = OpLoad %float %61 - %63 = OpAccessChain %_ptr_Output_float %_ %24 + %63 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %63 %62 - %64 = OpAccessChain %_ptr_Input__arr_v4float_30 %in_interpolators %57 - %65 = OpLoad %_arr_v4float_30 %64 + %64 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_3 + %65 = OpLoad %_arr_v4float_uint_16 %64 OpStore %out_interpolators %65 OpEmitVertex - %66 = OpAccessChain %_ptr_Input_v4float %gl_in %12 %12 + %66 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0 %67 = OpLoad %v4float %66 - %68 = OpAccessChain %_ptr_Output_v4float %_ %12 + %68 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %68 %67 - %69 = OpAccessChain %_ptr_Input_float %gl_in %12 %24 + %69 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_1 %70 = OpLoad %float %69 - %71 = OpAccessChain %_ptr_Output_float %_ %24 + %71 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %71 %70 - %72 = OpAccessChain %_ptr_Input__arr_v4float_30 %in_interpolators %12 - %73 = OpLoad %_arr_v4float_30 %72 + %72 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0 + %73 = OpLoad %_arr_v4float_uint_16 %72 OpStore %out_interpolators %73 OpEmitVertex OpEndPrimitive diff --git a/src/xenia/gpu/vulkan/shaders/bin/point_list_geom.txt b/src/xenia/gpu/vulkan/shaders/bin/point_list_geom.txt index f10172256..30b75affe 100644 --- a/src/xenia/gpu/vulkan/shaders/bin/point_list_geom.txt +++ b/src/xenia/gpu/vulkan/shaders/bin/point_list_geom.txt @@ -58,97 +58,97 @@ %_ptr_Function_v4float = OpTypePointer Function %v4float %gl_PerVertex = OpTypeStruct %v4float %uint = OpTypeInt 32 0 - %12 = OpConstant %uint 1 -%_arr_gl_PerVertex_12 = OpTypeArray %gl_PerVertex %12 -%_ptr_Input__arr_gl_PerVertex_12 = OpTypePointer Input %_arr_gl_PerVertex_12 - %gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_12 Input + %uint_1 = OpConstant %uint 1 +%_arr_gl_PerVertex_uint_1 = OpTypeArray %gl_PerVertex %uint_1 +%_ptr_Input__arr_gl_PerVertex_uint_1 = OpTypePointer Input %_arr_gl_PerVertex_uint_1 + %gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_uint_1 Input %int = OpTypeInt 32 1 - %17 = OpConstant %int 0 + %int_0 = OpConstant %int 0 %_ptr_Input_v4float = OpTypePointer Input %v4float %v2float = OpTypeVector %float 2 %_ptr_Function_v2float = OpTypePointer Function %v2float %push_consts_type = OpTypeStruct %v4float %v4float %v4float %v4float %uint %_ptr_PushConstant_push_consts_type = OpTypePointer PushConstant %push_consts_type %push_constants = OpVariable %_ptr_PushConstant_push_consts_type PushConstant - %27 = OpConstant %int 2 + %int_2 = OpConstant %int 2 %_ptr_PushConstant_v4float = OpTypePointer PushConstant %v4float -%_arr_float_12 = OpTypeArray %float %12 -%_ptr_Input__arr_float_12 = OpTypePointer Input %_arr_float_12 - %point_size = OpVariable %_ptr_Input__arr_float_12 Input +%_arr_float_uint_1 = OpTypeArray %float %uint_1 +%_ptr_Input__arr_float_uint_1 = OpTypePointer Input %_arr_float_uint_1 + %point_size = OpVariable %_ptr_Input__arr_float_uint_1 Input %_ptr_Input_float = OpTypePointer Input %float - %38 = OpConstant %float 0 + %float_0 = OpConstant %float 0 %bool = OpTypeBool %_ptr_Function_int = OpTypePointer Function %int - %59 = OpConstant %int 4 + %int_4 = OpConstant %int 4 %gl_PerVertex_0 = OpTypeStruct %v4float %_ptr_Output_gl_PerVertex_0 = OpTypePointer Output %gl_PerVertex_0 %_ = OpVariable %_ptr_Output_gl_PerVertex_0 Output - %66 = OpConstant %uint 4 -%_arr_v2float_66 = OpTypeArray %v2float %66 - %68 = OpConstant %float -1 - %69 = OpConstant %float 1 - %70 = OpConstantComposite %v2float %68 %69 - %71 = OpConstantComposite %v2float %69 %69 - %72 = OpConstantComposite %v2float %68 %68 - %73 = OpConstantComposite %v2float %69 %68 - %74 = OpConstantComposite %_arr_v2float_66 %70 %71 %72 %73 -%_ptr_Function__arr_v2float_66 = OpTypePointer Function %_arr_v2float_66 + %uint_4 = OpConstant %uint 4 +%_arr_v2float_uint_4 = OpTypeArray %v2float %uint_4 + %float_n1 = OpConstant %float -1 + %float_1 = OpConstant %float 1 + %70 = OpConstantComposite %v2float %float_n1 %float_1 + %71 = OpConstantComposite %v2float %float_1 %float_1 + %72 = OpConstantComposite %v2float %float_n1 %float_n1 + %73 = OpConstantComposite %v2float %float_1 %float_n1 + %74 = OpConstantComposite %_arr_v2float_uint_4 %70 %71 %72 %73 +%_ptr_Function__arr_v2float_uint_4 = OpTypePointer Function %_arr_v2float_uint_4 %_ptr_Output_v4float = OpTypePointer Output %v4float - %92 = OpConstant %uint 16 -%_arr_v4float_92 = OpTypeArray %v4float %92 -%_ptr_Output__arr_v4float_92 = OpTypePointer Output %_arr_v4float_92 -%out_interpolators = OpVariable %_ptr_Output__arr_v4float_92 Output -%_arr__arr_v4float_92_12 = OpTypeArray %_arr_v4float_92 %12 -%_ptr_Input__arr__arr_v4float_92_12 = OpTypePointer Input %_arr__arr_v4float_92_12 -%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_92_12 Input -%_ptr_Input__arr_v4float_92 = OpTypePointer Input %_arr_v4float_92 + %uint_16 = OpConstant %uint 16 +%_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16 +%_ptr_Output__arr_v4float_uint_16 = OpTypePointer Output %_arr_v4float_uint_16 +%out_interpolators = OpVariable %_ptr_Output__arr_v4float_uint_16 Output +%_arr__arr_v4float_uint_16_uint_1 = OpTypeArray %_arr_v4float_uint_16 %uint_1 +%_ptr_Input__arr__arr_v4float_uint_16_uint_1 = OpTypePointer Input %_arr__arr_v4float_uint_16_uint_1 +%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_uint_16_uint_1 Input +%_ptr_Input__arr_v4float_uint_16 = OpTypePointer Input %_arr_v4float_uint_16 %_ptr_Output_v2float = OpTypePointer Output %v2float %point_coord = OpVariable %_ptr_Output_v2float Output - %108 = OpConstantComposite %v2float %38 %38 - %111 = OpConstant %int 1 -%_arr_v2float_12 = OpTypeArray %v2float %12 -%_ptr_Input__arr_v2float_12 = OpTypePointer Input %_arr_v2float_12 -%in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_12 Input + %108 = OpConstantComposite %v2float %float_0 %float_0 + %int_1 = OpConstant %int 1 +%_arr_v2float_uint_1 = OpTypeArray %v2float %uint_1 +%_ptr_Input__arr_v2float_uint_1 = OpTypePointer Input %_arr_v2float_uint_1 +%in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_uint_1 Input %main = OpFunction %void None %3 %5 = OpLabel %pos = OpVariable %_ptr_Function_v4float Function %window_scaled_psize = OpVariable %_ptr_Function_v2float Function %i = OpVariable %_ptr_Function_int Function - %indexable = OpVariable %_ptr_Function__arr_v2float_66 Function -%indexable_0 = OpVariable %_ptr_Function__arr_v2float_66 Function - %19 = OpAccessChain %_ptr_Input_v4float %gl_in %17 %17 + %indexable = OpVariable %_ptr_Function__arr_v2float_uint_4 Function +%indexable_0 = OpVariable %_ptr_Function__arr_v2float_uint_4 Function + %19 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0 %20 = OpLoad %v4float %19 OpStore %pos %20 - %29 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %27 + %29 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %int_2 %30 = OpLoad %v4float %29 %31 = OpVectorShuffle %v2float %30 %30 0 1 OpStore %window_scaled_psize %31 - %36 = OpAccessChain %_ptr_Input_float %point_size %17 + %36 = OpAccessChain %_ptr_Input_float %point_size %int_0 %37 = OpLoad %float %36 - %40 = OpFOrdGreaterThan %bool %37 %38 + %40 = OpFOrdGreaterThan %bool %37 %float_0 OpSelectionMerge %42 None OpBranchConditional %40 %41 %42 %41 = OpLabel - %43 = OpAccessChain %_ptr_Input_float %point_size %17 + %43 = OpAccessChain %_ptr_Input_float %point_size %int_0 %44 = OpLoad %float %43 %45 = OpCompositeConstruct %v2float %44 %44 OpStore %window_scaled_psize %45 OpBranch %42 %42 = OpLabel - %46 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %17 + %46 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %int_0 %47 = OpLoad %v4float %46 %48 = OpVectorShuffle %v2float %47 %47 2 3 %49 = OpLoad %v2float %window_scaled_psize %50 = OpFDiv %v2float %49 %48 OpStore %window_scaled_psize %50 - OpStore %i %17 + OpStore %i %int_0 OpBranch %53 %53 = OpLabel OpLoopMerge %55 %56 None OpBranch %57 %57 = OpLabel %58 = OpLoad %int %i - %60 = OpSLessThan %bool %58 %59 + %60 = OpSLessThan %bool %58 %int_4 OpBranchConditional %60 %54 %55 %54 = OpLabel %64 = OpLoad %v4float %pos @@ -167,10 +167,10 @@ %87 = OpCompositeExtract %float %84 0 %88 = OpCompositeExtract %float %84 1 %89 = OpCompositeConstruct %v4float %85 %86 %87 %88 - %91 = OpAccessChain %_ptr_Output_v4float %_ %17 + %91 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %91 %89 - %100 = OpAccessChain %_ptr_Input__arr_v4float_92 %in_interpolators %17 - %101 = OpLoad %_arr_v4float_92 %100 + %100 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0 + %101 = OpLoad %_arr_v4float_uint_16 %100 OpStore %out_interpolators %101 %104 = OpLoad %int %i OpStore %indexable_0 %74 @@ -182,7 +182,7 @@ OpBranch %56 %56 = OpLabel %110 = OpLoad %int %i - %112 = OpIAdd %int %110 %111 + %112 = OpIAdd %int %110 %int_1 OpStore %i %112 OpBranch %53 %55 = OpLabel diff --git a/src/xenia/gpu/vulkan/shaders/bin/quad_list_geom.txt b/src/xenia/gpu/vulkan/shaders/bin/quad_list_geom.txt index 5792d54fe..2681df365 100644 --- a/src/xenia/gpu/vulkan/shaders/bin/quad_list_geom.txt +++ b/src/xenia/gpu/vulkan/shaders/bin/quad_list_geom.txt @@ -47,45 +47,45 @@ %3 = OpTypeFunction %void %int = OpTypeInt 32 1 %_ptr_Function_int = OpTypePointer Function %int - %9 = OpConstant %int 0 - %16 = OpConstant %int 4 + %int_0 = OpConstant %int 0 + %int_4 = OpConstant %int 4 %bool = OpTypeBool %uint = OpTypeInt 32 0 - %21 = OpConstant %uint 4 -%_arr_int_21 = OpTypeArray %int %21 - %23 = OpConstant %int 1 - %24 = OpConstant %int 3 - %25 = OpConstant %int 2 - %26 = OpConstantComposite %_arr_int_21 %9 %23 %24 %25 -%_ptr_Function__arr_int_21 = OpTypePointer Function %_arr_int_21 + %uint_4 = OpConstant %uint 4 +%_arr_int_uint_4 = OpTypeArray %int %uint_4 + %int_1 = OpConstant %int 1 + %int_3 = OpConstant %int 3 + %int_2 = OpConstant %int 2 + %26 = OpConstantComposite %_arr_int_uint_4 %int_0 %int_1 %int_3 %int_2 +%_ptr_Function__arr_int_uint_4 = OpTypePointer Function %_arr_int_uint_4 %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 %gl_PerVertex = OpTypeStruct %v4float %float %_ptr_Output_gl_PerVertex = OpTypePointer Output %gl_PerVertex %_ = OpVariable %_ptr_Output_gl_PerVertex Output %gl_PerVertex_0 = OpTypeStruct %v4float %float -%_arr_gl_PerVertex_0_21 = OpTypeArray %gl_PerVertex_0 %21 -%_ptr_Input__arr_gl_PerVertex_0_21 = OpTypePointer Input %_arr_gl_PerVertex_0_21 - %gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_0_21 Input +%_arr_gl_PerVertex_0_uint_4 = OpTypeArray %gl_PerVertex_0 %uint_4 +%_ptr_Input__arr_gl_PerVertex_0_uint_4 = OpTypePointer Input %_arr_gl_PerVertex_0_uint_4 + %gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_0_uint_4 Input %_ptr_Input_v4float = OpTypePointer Input %v4float %_ptr_Output_v4float = OpTypePointer Output %v4float %_ptr_Input_float = OpTypePointer Input %float %_ptr_Output_float = OpTypePointer Output %float - %53 = OpConstant %uint 16 -%_arr_v4float_53 = OpTypeArray %v4float %53 -%_ptr_Output__arr_v4float_53 = OpTypePointer Output %_arr_v4float_53 -%out_interpolators = OpVariable %_ptr_Output__arr_v4float_53 Output -%_arr__arr_v4float_53_21 = OpTypeArray %_arr_v4float_53 %21 -%_ptr_Input__arr__arr_v4float_53_21 = OpTypePointer Input %_arr__arr_v4float_53_21 -%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_53_21 Input -%_ptr_Input__arr_v4float_53 = OpTypePointer Input %_arr_v4float_53 + %uint_16 = OpConstant %uint 16 +%_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16 +%_ptr_Output__arr_v4float_uint_16 = OpTypePointer Output %_arr_v4float_uint_16 +%out_interpolators = OpVariable %_ptr_Output__arr_v4float_uint_16 Output +%_arr__arr_v4float_uint_16_uint_4 = OpTypeArray %_arr_v4float_uint_16 %uint_4 +%_ptr_Input__arr__arr_v4float_uint_16_uint_4 = OpTypePointer Input %_arr__arr_v4float_uint_16_uint_4 +%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_uint_16_uint_4 Input +%_ptr_Input__arr_v4float_uint_16 = OpTypePointer Input %_arr_v4float_uint_16 %v2float = OpTypeVector %float 2 -%_arr_v2float_21 = OpTypeArray %v2float %21 -%_ptr_Input__arr_v2float_21 = OpTypePointer Input %_arr_v2float_21 -%_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_21 Input -%_arr_float_21 = OpTypeArray %float %21 -%_ptr_Input__arr_float_21 = OpTypePointer Input %_arr_float_21 -%_in_point_size_unused = OpVariable %_ptr_Input__arr_float_21 Input +%_arr_v2float_uint_4 = OpTypeArray %v2float %uint_4 +%_ptr_Input__arr_v2float_uint_4 = OpTypePointer Input %_arr_v2float_uint_4 +%_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_uint_4 Input +%_arr_float_uint_4 = OpTypeArray %float %uint_4 +%_ptr_Input__arr_float_uint_4 = OpTypePointer Input %_arr_float_uint_4 +%_in_point_size_unused = OpVariable %_ptr_Input__arr_float_uint_4 Input %_ptr_Output_v2float = OpTypePointer Output %v2float %_out_point_coord_unused = OpVariable %_ptr_Output_v2float Output %_out_point_size_unused = OpVariable %_ptr_Output_float Output @@ -93,15 +93,15 @@ %5 = OpLabel %i = OpVariable %_ptr_Function_int Function %input_index = OpVariable %_ptr_Function_int Function - %indexable = OpVariable %_ptr_Function__arr_int_21 Function - OpStore %i %9 + %indexable = OpVariable %_ptr_Function__arr_int_uint_4 Function + OpStore %i %int_0 OpBranch %10 %10 = OpLabel OpLoopMerge %12 %13 None OpBranch %14 %14 = OpLabel %15 = OpLoad %int %i - %18 = OpSLessThan %bool %15 %16 + %18 = OpSLessThan %bool %15 %int_4 OpBranchConditional %18 %11 %12 %11 = OpLabel %27 = OpLoad %int %i @@ -110,24 +110,24 @@ %31 = OpLoad %int %30 OpStore %input_index %31 %41 = OpLoad %int %input_index - %43 = OpAccessChain %_ptr_Input_v4float %gl_in %41 %9 + %43 = OpAccessChain %_ptr_Input_v4float %gl_in %41 %int_0 %44 = OpLoad %v4float %43 - %46 = OpAccessChain %_ptr_Output_v4float %_ %9 + %46 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %46 %44 %47 = OpLoad %int %input_index - %49 = OpAccessChain %_ptr_Input_float %gl_in %47 %23 + %49 = OpAccessChain %_ptr_Input_float %gl_in %47 %int_1 %50 = OpLoad %float %49 - %52 = OpAccessChain %_ptr_Output_float %_ %23 + %52 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %52 %50 %60 = OpLoad %int %input_index - %62 = OpAccessChain %_ptr_Input__arr_v4float_53 %in_interpolators %60 - %63 = OpLoad %_arr_v4float_53 %62 + %62 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %60 + %63 = OpLoad %_arr_v4float_uint_16 %62 OpStore %out_interpolators %63 OpEmitVertex OpBranch %13 %13 = OpLabel %64 = OpLoad %int %i - %65 = OpIAdd %int %64 %23 + %65 = OpIAdd %int %64 %int_1 OpStore %i %65 OpBranch %10 %12 = OpLabel diff --git a/src/xenia/gpu/vulkan/shaders/bin/rect_list_geom.txt b/src/xenia/gpu/vulkan/shaders/bin/rect_list_geom.txt index 091ccb1d5..6f34ecc18 100644 --- a/src/xenia/gpu/vulkan/shaders/bin/rect_list_geom.txt +++ b/src/xenia/gpu/vulkan/shaders/bin/rect_list_geom.txt @@ -51,39 +51,39 @@ %v4float = OpTypeVector %float 4 %gl_PerVertex = OpTypeStruct %v4float %float %uint = OpTypeInt 32 0 - %13 = OpConstant %uint 3 -%_arr_gl_PerVertex_13 = OpTypeArray %gl_PerVertex %13 -%_ptr_Input__arr_gl_PerVertex_13 = OpTypePointer Input %_arr_gl_PerVertex_13 - %gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_13 Input + %uint_3 = OpConstant %uint 3 +%_arr_gl_PerVertex_uint_3 = OpTypeArray %gl_PerVertex %uint_3 +%_ptr_Input__arr_gl_PerVertex_uint_3 = OpTypePointer Input %_arr_gl_PerVertex_uint_3 + %gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_uint_3 Input %int = OpTypeInt 32 1 - %18 = OpConstant %int 0 - %19 = OpConstant %uint 0 + %int_0 = OpConstant %int 0 + %uint_0 = OpConstant %uint 0 %_ptr_Input_float = OpTypePointer Input %float - %23 = OpConstant %int 2 + %int_2 = OpConstant %int 2 %gl_PerVertex_0 = OpTypeStruct %v4float %float %_ptr_Output_gl_PerVertex_0 = OpTypePointer Output %gl_PerVertex_0 %_ = OpVariable %_ptr_Output_gl_PerVertex_0 Output %_ptr_Input_v4float = OpTypePointer Input %v4float %_ptr_Output_v4float = OpTypePointer Output %v4float - %38 = OpConstant %int 1 + %int_1 = OpConstant %int 1 %_ptr_Output_float = OpTypePointer Output %float - %43 = OpConstant %uint 16 -%_arr_v4float_43 = OpTypeArray %v4float %43 -%_ptr_Output__arr_v4float_43 = OpTypePointer Output %_arr_v4float_43 -%out_interpolators = OpVariable %_ptr_Output__arr_v4float_43 Output -%_arr__arr_v4float_43_13 = OpTypeArray %_arr_v4float_43 %13 -%_ptr_Input__arr__arr_v4float_43_13 = OpTypePointer Input %_arr__arr_v4float_43_13 -%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_43_13 Input -%_ptr_Input__arr_v4float_43 = OpTypePointer Input %_arr_v4float_43 + %uint_16 = OpConstant %uint 16 +%_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16 +%_ptr_Output__arr_v4float_uint_16 = OpTypePointer Output %_arr_v4float_uint_16 +%out_interpolators = OpVariable %_ptr_Output__arr_v4float_uint_16 Output +%_arr__arr_v4float_uint_16_uint_3 = OpTypeArray %_arr_v4float_uint_16 %uint_3 +%_ptr_Input__arr__arr_v4float_uint_16_uint_3 = OpTypePointer Input %_arr__arr_v4float_uint_16_uint_3 +%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_uint_16_uint_3 Input +%_ptr_Input__arr_v4float_uint_16 = OpTypePointer Input %_arr_v4float_uint_16 %_ptr_Function_int = OpTypePointer Function %int - %105 = OpConstant %int 16 + %int_16 = OpConstant %int 16 %v2float = OpTypeVector %float 2 -%_arr_v2float_13 = OpTypeArray %v2float %13 -%_ptr_Input__arr_v2float_13 = OpTypePointer Input %_arr_v2float_13 -%_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_13 Input -%_arr_float_13 = OpTypeArray %float %13 -%_ptr_Input__arr_float_13 = OpTypePointer Input %_arr_float_13 -%_in_point_size_unused = OpVariable %_ptr_Input__arr_float_13 Input +%_arr_v2float_uint_3 = OpTypeArray %v2float %uint_3 +%_ptr_Input__arr_v2float_uint_3 = OpTypePointer Input %_arr_v2float_uint_3 +%_in_point_coord_unused = OpVariable %_ptr_Input__arr_v2float_uint_3 Input +%_arr_float_uint_3 = OpTypeArray %float %uint_3 +%_ptr_Input__arr_float_uint_3 = OpTypePointer Input %_arr_float_uint_3 +%_in_point_size_unused = OpVariable %_ptr_Input__arr_float_uint_3 Input %_ptr_Output_v2float = OpTypePointer Output %v2float %_out_point_coord_unused = OpVariable %_ptr_Output_v2float Output %_out_point_size_unused = OpVariable %_ptr_Output_float Output @@ -92,9 +92,9 @@ %left_aligned = OpVariable %_ptr_Function_bool Function %i = OpVariable %_ptr_Function_int Function %i_0 = OpVariable %_ptr_Function_int Function - %21 = OpAccessChain %_ptr_Input_float %gl_in %18 %18 %19 + %21 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_0 %uint_0 %22 = OpLoad %float %21 - %24 = OpAccessChain %_ptr_Input_float %gl_in %23 %18 %19 + %24 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_0 %uint_0 %25 = OpLoad %float %24 %26 = OpFOrdEqual %bool %22 %25 OpStore %left_aligned %26 @@ -102,102 +102,102 @@ OpSelectionMerge %29 None OpBranchConditional %27 %28 %123 %28 = OpLabel - %34 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18 + %34 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0 %35 = OpLoad %v4float %34 - %37 = OpAccessChain %_ptr_Output_v4float %_ %18 + %37 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %37 %35 - %39 = OpAccessChain %_ptr_Input_float %gl_in %18 %38 + %39 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_1 %40 = OpLoad %float %39 - %42 = OpAccessChain %_ptr_Output_float %_ %38 + %42 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %42 %40 - %51 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %18 - %52 = OpLoad %_arr_v4float_43 %51 + %51 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0 + %52 = OpLoad %_arr_v4float_uint_16 %51 OpStore %out_interpolators %52 OpEmitVertex - %53 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18 + %53 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0 %54 = OpLoad %v4float %53 - %55 = OpAccessChain %_ptr_Output_v4float %_ %18 + %55 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %55 %54 - %56 = OpAccessChain %_ptr_Input_float %gl_in %38 %38 + %56 = OpAccessChain %_ptr_Input_float %gl_in %int_1 %int_1 %57 = OpLoad %float %56 - %58 = OpAccessChain %_ptr_Output_float %_ %38 + %58 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %58 %57 - %59 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %38 - %60 = OpLoad %_arr_v4float_43 %59 + %59 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_1 + %60 = OpLoad %_arr_v4float_uint_16 %59 OpStore %out_interpolators %60 OpEmitVertex - %61 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18 + %61 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0 %62 = OpLoad %v4float %61 - %63 = OpAccessChain %_ptr_Output_v4float %_ %18 + %63 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %63 %62 - %64 = OpAccessChain %_ptr_Input_float %gl_in %23 %38 + %64 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1 %65 = OpLoad %float %64 - %66 = OpAccessChain %_ptr_Output_float %_ %38 + %66 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %66 %65 - %67 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23 - %68 = OpLoad %_arr_v4float_43 %67 + %67 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_2 + %68 = OpLoad %_arr_v4float_uint_16 %67 OpStore %out_interpolators %68 OpEmitVertex OpEndPrimitive - %69 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18 + %69 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0 %70 = OpLoad %v4float %69 - %71 = OpAccessChain %_ptr_Output_v4float %_ %18 + %71 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %71 %70 - %72 = OpAccessChain %_ptr_Input_float %gl_in %23 %38 + %72 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1 %73 = OpLoad %float %72 - %74 = OpAccessChain %_ptr_Output_float %_ %38 + %74 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %74 %73 - %75 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23 - %76 = OpLoad %_arr_v4float_43 %75 + %75 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_2 + %76 = OpLoad %_arr_v4float_uint_16 %75 OpStore %out_interpolators %76 OpEmitVertex - %77 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18 + %77 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0 %78 = OpLoad %v4float %77 - %79 = OpAccessChain %_ptr_Output_v4float %_ %18 + %79 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %79 %78 - %80 = OpAccessChain %_ptr_Input_float %gl_in %38 %38 + %80 = OpAccessChain %_ptr_Input_float %gl_in %int_1 %int_1 %81 = OpLoad %float %80 - %82 = OpAccessChain %_ptr_Output_float %_ %38 + %82 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %82 %81 - %83 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %38 - %84 = OpLoad %_arr_v4float_43 %83 + %83 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_1 + %84 = OpLoad %_arr_v4float_uint_16 %83 OpStore %out_interpolators %84 OpEmitVertex - %85 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18 + %85 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0 %86 = OpLoad %v4float %85 - %87 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18 + %87 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0 %88 = OpLoad %v4float %87 %89 = OpFAdd %v4float %86 %88 - %90 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18 + %90 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0 %91 = OpLoad %v4float %90 %92 = OpFSub %v4float %89 %91 - %93 = OpAccessChain %_ptr_Output_v4float %_ %18 + %93 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %93 %92 - %94 = OpAccessChain %_ptr_Input_float %gl_in %23 %38 + %94 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1 %95 = OpLoad %float %94 - %96 = OpAccessChain %_ptr_Output_float %_ %38 + %96 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %96 %95 - OpStore %i %18 + OpStore %i %int_0 OpBranch %99 %99 = OpLabel OpLoopMerge %101 %102 None OpBranch %103 %103 = OpLabel %104 = OpLoad %int %i - %106 = OpSLessThan %bool %104 %105 + %106 = OpSLessThan %bool %104 %int_16 OpBranchConditional %106 %100 %101 %100 = OpLabel %107 = OpLoad %int %i %108 = OpLoad %int %i - %109 = OpAccessChain %_ptr_Input_v4float %in_interpolators %18 %108 + %109 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_0 %108 %110 = OpLoad %v4float %109 %111 = OpFNegate %v4float %110 %112 = OpLoad %int %i - %113 = OpAccessChain %_ptr_Input_v4float %in_interpolators %38 %112 + %113 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_1 %112 %114 = OpLoad %v4float %113 %115 = OpFAdd %v4float %111 %114 %116 = OpLoad %int %i - %117 = OpAccessChain %_ptr_Input_v4float %in_interpolators %23 %116 + %117 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_2 %116 %118 = OpLoad %v4float %117 %119 = OpFAdd %v4float %115 %118 %120 = OpAccessChain %_ptr_Output_v4float %out_interpolators %107 @@ -205,7 +205,7 @@ OpBranch %102 %102 = OpLabel %121 = OpLoad %int %i - %122 = OpIAdd %int %121 %38 + %122 = OpIAdd %int %121 %int_1 OpStore %i %122 OpBranch %99 %101 = OpLabel @@ -213,102 +213,102 @@ OpEndPrimitive OpBranch %29 %123 = OpLabel - %124 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18 + %124 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0 %125 = OpLoad %v4float %124 - %126 = OpAccessChain %_ptr_Output_v4float %_ %18 + %126 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %126 %125 - %127 = OpAccessChain %_ptr_Input_float %gl_in %18 %38 + %127 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_1 %128 = OpLoad %float %127 - %129 = OpAccessChain %_ptr_Output_float %_ %38 + %129 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %129 %128 - %130 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %18 - %131 = OpLoad %_arr_v4float_43 %130 + %130 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0 + %131 = OpLoad %_arr_v4float_uint_16 %130 OpStore %out_interpolators %131 OpEmitVertex - %132 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18 + %132 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0 %133 = OpLoad %v4float %132 - %134 = OpAccessChain %_ptr_Output_v4float %_ %18 + %134 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %134 %133 - %135 = OpAccessChain %_ptr_Input_float %gl_in %38 %38 + %135 = OpAccessChain %_ptr_Input_float %gl_in %int_1 %int_1 %136 = OpLoad %float %135 - %137 = OpAccessChain %_ptr_Output_float %_ %38 + %137 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %137 %136 - %138 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %38 - %139 = OpLoad %_arr_v4float_43 %138 + %138 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_1 + %139 = OpLoad %_arr_v4float_uint_16 %138 OpStore %out_interpolators %139 OpEmitVertex - %140 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18 + %140 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0 %141 = OpLoad %v4float %140 - %142 = OpAccessChain %_ptr_Output_v4float %_ %18 + %142 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %142 %141 - %143 = OpAccessChain %_ptr_Input_float %gl_in %23 %38 + %143 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1 %144 = OpLoad %float %143 - %145 = OpAccessChain %_ptr_Output_float %_ %38 + %145 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %145 %144 - %146 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23 - %147 = OpLoad %_arr_v4float_43 %146 + %146 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_2 + %147 = OpLoad %_arr_v4float_uint_16 %146 OpStore %out_interpolators %147 OpEmitVertex OpEndPrimitive - %148 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18 + %148 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0 %149 = OpLoad %v4float %148 - %150 = OpAccessChain %_ptr_Output_v4float %_ %18 + %150 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %150 %149 - %151 = OpAccessChain %_ptr_Input_float %gl_in %18 %38 + %151 = OpAccessChain %_ptr_Input_float %gl_in %int_0 %int_1 %152 = OpLoad %float %151 - %153 = OpAccessChain %_ptr_Output_float %_ %38 + %153 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %153 %152 - %154 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %18 - %155 = OpLoad %_arr_v4float_43 %154 + %154 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_0 + %155 = OpLoad %_arr_v4float_uint_16 %154 OpStore %out_interpolators %155 OpEmitVertex - %156 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18 + %156 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0 %157 = OpLoad %v4float %156 - %158 = OpAccessChain %_ptr_Output_v4float %_ %18 + %158 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %158 %157 - %159 = OpAccessChain %_ptr_Input_float %gl_in %23 %38 + %159 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1 %160 = OpLoad %float %159 - %161 = OpAccessChain %_ptr_Output_float %_ %38 + %161 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %161 %160 - %162 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23 - %163 = OpLoad %_arr_v4float_43 %162 + %162 = OpAccessChain %_ptr_Input__arr_v4float_uint_16 %in_interpolators %int_2 + %163 = OpLoad %_arr_v4float_uint_16 %162 OpStore %out_interpolators %163 OpEmitVertex - %164 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18 + %164 = OpAccessChain %_ptr_Input_v4float %gl_in %int_0 %int_0 %165 = OpLoad %v4float %164 - %166 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18 + %166 = OpAccessChain %_ptr_Input_v4float %gl_in %int_2 %int_0 %167 = OpLoad %v4float %166 %168 = OpFAdd %v4float %165 %167 - %169 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18 + %169 = OpAccessChain %_ptr_Input_v4float %gl_in %int_1 %int_0 %170 = OpLoad %v4float %169 %171 = OpFSub %v4float %168 %170 - %172 = OpAccessChain %_ptr_Output_v4float %_ %18 + %172 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %172 %171 - %173 = OpAccessChain %_ptr_Input_float %gl_in %23 %38 + %173 = OpAccessChain %_ptr_Input_float %gl_in %int_2 %int_1 %174 = OpLoad %float %173 - %175 = OpAccessChain %_ptr_Output_float %_ %38 + %175 = OpAccessChain %_ptr_Output_float %_ %int_1 OpStore %175 %174 - OpStore %i_0 %18 + OpStore %i_0 %int_0 OpBranch %177 %177 = OpLabel OpLoopMerge %179 %180 None OpBranch %181 %181 = OpLabel %182 = OpLoad %int %i_0 - %183 = OpSLessThan %bool %182 %105 + %183 = OpSLessThan %bool %182 %int_16 OpBranchConditional %183 %178 %179 %178 = OpLabel %184 = OpLoad %int %i_0 %185 = OpLoad %int %i_0 - %186 = OpAccessChain %_ptr_Input_v4float %in_interpolators %18 %185 + %186 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_0 %185 %187 = OpLoad %v4float %186 %188 = OpLoad %int %i_0 - %189 = OpAccessChain %_ptr_Input_v4float %in_interpolators %38 %188 + %189 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_1 %188 %190 = OpLoad %v4float %189 %191 = OpFNegate %v4float %190 %192 = OpFAdd %v4float %187 %191 %193 = OpLoad %int %i_0 - %194 = OpAccessChain %_ptr_Input_v4float %in_interpolators %23 %193 + %194 = OpAccessChain %_ptr_Input_v4float %in_interpolators %int_2 %193 %195 = OpLoad %v4float %194 %196 = OpFAdd %v4float %192 %195 %197 = OpAccessChain %_ptr_Output_v4float %out_interpolators %184 @@ -316,7 +316,7 @@ OpBranch %180 %180 = OpLabel %198 = OpLoad %int %i_0 - %199 = OpIAdd %int %198 %38 + %199 = OpIAdd %int %198 %int_1 OpStore %i_0 %199 OpBranch %177 %179 = OpLabel diff --git a/src/xenia/ui/vulkan/shaders/bin/blit_color_frag.txt b/src/xenia/ui/vulkan/shaders/bin/blit_color_frag.txt index 043472de1..fc5fdc4b8 100644 --- a/src/xenia/ui/vulkan/shaders/bin/blit_color_frag.txt +++ b/src/xenia/ui/vulkan/shaders/bin/blit_color_frag.txt @@ -6,59 +6,59 @@ OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %4 "main" %9 %17 - OpExecutionMode %4 OriginUpperLeft + OpEntryPoint Fragment %main "main" %oC %vtx_uv + OpExecutionMode %main OriginUpperLeft OpSource GLSL 450 - OpName %4 "main" - OpName %9 "oC" - OpName %13 "src_texture" - OpName %17 "vtx_uv" - OpName %21 "PushConstants" - OpMemberName %21 0 "swap" - OpName %23 "push_constants" - OpDecorate %9 Location 0 - OpDecorate %13 DescriptorSet 0 - OpDecorate %13 Binding 0 - OpDecorate %17 Location 0 - OpMemberDecorate %21 0 Offset 0 - OpDecorate %21 Block - %2 = OpTypeVoid - %3 = OpTypeFunction %2 - %6 = OpTypeFloat 32 - %7 = OpTypeVector %6 4 - %8 = OpTypePointer Output %7 - %9 = OpVariable %8 Output - %10 = OpTypeImage %6 2D 0 0 0 1 Unknown + OpName %main "main" + OpName %oC "oC" + OpName %src_texture "src_texture" + OpName %vtx_uv "vtx_uv" + OpName %PushConstants "PushConstants" + OpMemberName %PushConstants 0 "swap" + OpName %push_constants "push_constants" + OpDecorate %oC Location 0 + OpDecorate %src_texture DescriptorSet 0 + OpDecorate %src_texture Binding 0 + OpDecorate %vtx_uv Location 0 + OpMemberDecorate %PushConstants 0 Offset 0 + OpDecorate %PushConstants Block + %void = OpTypeVoid + %3 = OpTypeFunction %void + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %oC = OpVariable %_ptr_Output_v4float Output + %10 = OpTypeImage %float 2D 0 0 0 1 Unknown %11 = OpTypeSampledImage %10 - %12 = OpTypePointer UniformConstant %11 - %13 = OpVariable %12 UniformConstant - %15 = OpTypeVector %6 2 - %16 = OpTypePointer Input %15 - %17 = OpVariable %16 Input - %20 = OpTypeInt 32 0 - %21 = OpTypeStruct %20 - %22 = OpTypePointer PushConstant %21 - %23 = OpVariable %22 PushConstant - %24 = OpTypeInt 32 1 - %25 = OpConstant %24 0 - %26 = OpTypePointer PushConstant %20 - %29 = OpTypeBool - %30 = OpConstant %20 0 - %4 = OpFunction %2 None %3 +%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11 +%src_texture = OpVariable %_ptr_UniformConstant_11 UniformConstant + %v2float = OpTypeVector %float 2 +%_ptr_Input_v2float = OpTypePointer Input %v2float + %vtx_uv = OpVariable %_ptr_Input_v2float Input + %uint = OpTypeInt 32 0 +%PushConstants = OpTypeStruct %uint +%_ptr_PushConstant_PushConstants = OpTypePointer PushConstant %PushConstants +%push_constants = OpVariable %_ptr_PushConstant_PushConstants PushConstant + %int = OpTypeInt 32 1 + %int_0 = OpConstant %int 0 +%_ptr_PushConstant_uint = OpTypePointer PushConstant %uint + %bool = OpTypeBool + %uint_0 = OpConstant %uint 0 + %main = OpFunction %void None %3 %5 = OpLabel - %14 = OpLoad %11 %13 - %18 = OpLoad %15 %17 - %19 = OpImageSampleImplicitLod %7 %14 %18 - OpStore %9 %19 - %27 = OpAccessChain %26 %23 %25 - %28 = OpLoad %20 %27 - %31 = OpINotEqual %29 %28 %30 + %14 = OpLoad %11 %src_texture + %18 = OpLoad %v2float %vtx_uv + %19 = OpImageSampleImplicitLod %v4float %14 %18 + OpStore %oC %19 + %27 = OpAccessChain %_ptr_PushConstant_uint %push_constants %int_0 + %28 = OpLoad %uint %27 + %31 = OpINotEqual %bool %28 %uint_0 OpSelectionMerge %33 None OpBranchConditional %31 %32 %33 %32 = OpLabel - %34 = OpLoad %7 %9 - %35 = OpVectorShuffle %7 %34 %34 2 1 0 3 - OpStore %9 %35 + %34 = OpLoad %v4float %oC + %35 = OpVectorShuffle %v4float %34 %34 2 1 0 3 + OpStore %oC %35 OpBranch %33 %33 = OpLabel OpReturn diff --git a/src/xenia/ui/vulkan/shaders/bin/blit_depth_frag.txt b/src/xenia/ui/vulkan/shaders/bin/blit_depth_frag.txt index 72b6da8fe..0ef15a102 100644 --- a/src/xenia/ui/vulkan/shaders/bin/blit_depth_frag.txt +++ b/src/xenia/ui/vulkan/shaders/bin/blit_depth_frag.txt @@ -6,43 +6,43 @@ OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %4 "main" %8 %16 %24 - OpExecutionMode %4 OriginUpperLeft - OpExecutionMode %4 DepthReplacing + OpEntryPoint Fragment %main "main" %gl_FragDepth %vtx_uv %oC + OpExecutionMode %main OriginUpperLeft + OpExecutionMode %main DepthReplacing OpSource GLSL 450 - OpName %4 "main" - OpName %8 "gl_FragDepth" - OpName %12 "src_texture" - OpName %16 "vtx_uv" - OpName %24 "oC" - OpDecorate %8 BuiltIn FragDepth - OpDecorate %12 DescriptorSet 0 - OpDecorate %12 Binding 0 - OpDecorate %16 Location 0 - OpDecorate %24 Location 0 - %2 = OpTypeVoid - %3 = OpTypeFunction %2 - %6 = OpTypeFloat 32 - %7 = OpTypePointer Output %6 - %8 = OpVariable %7 Output - %9 = OpTypeImage %6 2D 0 0 0 1 Unknown + OpName %main "main" + OpName %gl_FragDepth "gl_FragDepth" + OpName %src_texture "src_texture" + OpName %vtx_uv "vtx_uv" + OpName %oC "oC" + OpDecorate %gl_FragDepth BuiltIn FragDepth + OpDecorate %src_texture DescriptorSet 0 + OpDecorate %src_texture Binding 0 + OpDecorate %vtx_uv Location 0 + OpDecorate %oC Location 0 + %void = OpTypeVoid + %3 = OpTypeFunction %void + %float = OpTypeFloat 32 +%_ptr_Output_float = OpTypePointer Output %float +%gl_FragDepth = OpVariable %_ptr_Output_float Output + %9 = OpTypeImage %float 2D 0 0 0 1 Unknown %10 = OpTypeSampledImage %9 - %11 = OpTypePointer UniformConstant %10 - %12 = OpVariable %11 UniformConstant - %14 = OpTypeVector %6 2 - %15 = OpTypePointer Input %14 - %16 = OpVariable %15 Input - %18 = OpTypeVector %6 4 - %20 = OpTypeInt 32 0 - %21 = OpConstant %20 0 - %23 = OpTypePointer Output %18 - %24 = OpVariable %23 Output - %4 = OpFunction %2 None %3 +%_ptr_UniformConstant_10 = OpTypePointer UniformConstant %10 +%src_texture = OpVariable %_ptr_UniformConstant_10 UniformConstant + %v2float = OpTypeVector %float 2 +%_ptr_Input_v2float = OpTypePointer Input %v2float + %vtx_uv = OpVariable %_ptr_Input_v2float Input + %v4float = OpTypeVector %float 4 + %uint = OpTypeInt 32 0 + %uint_0 = OpConstant %uint 0 +%_ptr_Output_v4float = OpTypePointer Output %v4float + %oC = OpVariable %_ptr_Output_v4float Output + %main = OpFunction %void None %3 %5 = OpLabel - %13 = OpLoad %10 %12 - %17 = OpLoad %14 %16 - %19 = OpImageSampleImplicitLod %18 %13 %17 - %22 = OpCompositeExtract %6 %19 0 - OpStore %8 %22 + %13 = OpLoad %10 %src_texture + %17 = OpLoad %v2float %vtx_uv + %19 = OpImageSampleImplicitLod %v4float %13 %17 + %22 = OpCompositeExtract %float %19 0 + OpStore %gl_FragDepth %22 OpReturn OpFunctionEnd diff --git a/src/xenia/ui/vulkan/shaders/bin/blit_vert.h b/src/xenia/ui/vulkan/shaders/bin/blit_vert.h index 316125fbd..3b80a11b8 100644 --- a/src/xenia/ui/vulkan/shaders/bin/blit_vert.h +++ b/src/xenia/ui/vulkan/shaders/bin/blit_vert.h @@ -3,118 +3,117 @@ const uint8_t blit_vert[] = { 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x11, 0x00, 0x02, 0x00, 0x21, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x06, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x47, 0x4C, 0x53, 0x4C, 0x2E, 0x73, 0x74, 0x64, - 0x2E, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x08, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, - 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, - 0xC2, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x6D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x65, 0x72, 0x56, 0x65, - 0x72, 0x74, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, - 0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x06, 0x00, 0x07, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, - 0x6F, 0x69, 0x6E, 0x74, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x67, 0x6C, 0x5F, 0x43, 0x6C, 0x69, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, - 0x6E, 0x63, 0x65, 0x00, 0x06, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43, 0x75, 0x6C, 0x6C, 0x44, - 0x69, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x76, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5F, 0x70, - 0x6F, 0x73, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x76, 0x74, 0x78, 0x5F, 0x75, 0x76, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6F, 0x6E, 0x73, - 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x72, 0x63, 0x5F, - 0x75, 0x76, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x27, 0x00, 0x00, 0x00, - 0x70, 0x75, 0x73, 0x68, 0x5F, 0x63, 0x6F, 0x6E, 0x73, 0x74, 0x61, 0x6E, - 0x74, 0x73, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x03, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x1C, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x00, - 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, - 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xC0, 0x2C, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x80, 0x3F, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xBF, 0x2C, 0x00, 0x05, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x03, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x26, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x28, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, - 0x83, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, - 0x1D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x21, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, - 0x29, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, - 0x29, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x2B, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, - 0x2B, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, - 0x2D, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, - 0x2D, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x2F, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, - 0x2F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x47, 0x4C, 0x53, 0x4C, 0x2E, 0x73, 0x74, 0x64, 0x2E, 0x34, 0x35, 0x30, + 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00, + 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x67, 0x6C, 0x5F, 0x50, 0x65, 0x72, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, + 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x6F, 0x73, 0x69, 0x74, + 0x69, 0x6F, 0x6E, 0x00, 0x06, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x6F, 0x69, 0x6E, 0x74, + 0x53, 0x69, 0x7A, 0x65, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43, + 0x6C, 0x69, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x00, + 0x06, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x67, 0x6C, 0x5F, 0x43, 0x75, 0x6C, 0x6C, 0x44, 0x69, 0x73, 0x74, 0x61, + 0x6E, 0x63, 0x65, 0x00, 0x05, 0x00, 0x03, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x76, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5F, 0x70, 0x6F, 0x73, 0x00, 0x00, + 0x05, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x76, 0x74, 0x78, 0x5F, + 0x75, 0x76, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x25, 0x00, 0x00, 0x00, + 0x50, 0x75, 0x73, 0x68, 0x43, 0x6F, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x74, + 0x73, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x25, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x73, 0x72, 0x63, 0x5F, 0x75, 0x76, 0x00, 0x00, + 0x05, 0x00, 0x06, 0x00, 0x27, 0x00, 0x00, 0x00, 0x70, 0x75, 0x73, 0x68, + 0x5F, 0x63, 0x6F, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0x00, + 0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x25, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x03, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x2B, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x3B, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x2B, 0x00, 0x04, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, + 0x2C, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, + 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xBF, 0x2C, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x3B, 0x00, 0x04, 0x00, 0x22, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x03, 0x00, 0x25, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, + 0x26, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x04, 0x00, 0x28, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x1D, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, + 0x1B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, + 0x21, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, + 0x27, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, + 0x4F, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, + 0x2A, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x2C, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, + 0x27, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, + 0x4F, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, + 0x2E, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, + 0x3E, 0x00, 0x03, 0x00, 0x23, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, }; diff --git a/src/xenia/ui/vulkan/shaders/bin/blit_vert.spv b/src/xenia/ui/vulkan/shaders/bin/blit_vert.spv index 489bd0c8e32a45e85f552005f96525da78fb2467..5653ae65a42546029eb102fcae53b65bc6417f28 100644 GIT binary patch delta 10 Rcmeys^?+-F%tjp-Rsa~w1GfMG delta 24 dcmaFB^?_@G46h&q6N3T+0|SUw+$ibJ3IIWS1RDSV diff --git a/src/xenia/ui/vulkan/shaders/bin/blit_vert.txt b/src/xenia/ui/vulkan/shaders/bin/blit_vert.txt index c1c008b6c..2b35479fe 100644 --- a/src/xenia/ui/vulkan/shaders/bin/blit_vert.txt +++ b/src/xenia/ui/vulkan/shaders/bin/blit_vert.txt @@ -4,81 +4,79 @@ ; Bound: 49 ; Schema: 0 OpCapability Shader - OpCapability ClipDistance - OpCapability CullDistance %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Vertex %4 "main" %13 %18 %35 + OpEntryPoint Vertex %main "main" %_ %vfetch_pos %vtx_uv OpSource GLSL 450 - OpName %4 "main" - OpName %11 "gl_PerVertex" - OpMemberName %11 0 "gl_Position" - OpMemberName %11 1 "gl_PointSize" - OpMemberName %11 2 "gl_ClipDistance" - OpMemberName %11 3 "gl_CullDistance" - OpName %13 "" - OpName %18 "vfetch_pos" - OpName %35 "vtx_uv" - OpName %37 "PushConstants" - OpMemberName %37 0 "src_uv" - OpName %39 "push_constants" - OpMemberDecorate %11 0 BuiltIn Position - OpMemberDecorate %11 1 BuiltIn PointSize - OpMemberDecorate %11 2 BuiltIn ClipDistance - OpMemberDecorate %11 3 BuiltIn CullDistance - OpDecorate %11 Block - OpDecorate %18 Location 0 - OpDecorate %35 Location 0 - OpMemberDecorate %37 0 Offset 0 - OpDecorate %37 Block - %2 = OpTypeVoid - %3 = OpTypeFunction %2 - %6 = OpTypeFloat 32 - %7 = OpTypeVector %6 4 - %8 = OpTypeInt 32 0 - %9 = OpConstant %8 1 - %10 = OpTypeArray %6 %9 - %11 = OpTypeStruct %7 %6 %10 %10 - %12 = OpTypePointer Output %11 - %13 = OpVariable %12 Output - %14 = OpTypeInt 32 1 - %15 = OpConstant %14 0 - %16 = OpTypeVector %6 2 - %17 = OpTypePointer Input %16 - %18 = OpVariable %17 Input - %20 = OpConstant %6 2 - %21 = OpConstant %6 -2 - %22 = OpConstantComposite %16 %20 %21 - %24 = OpConstant %6 1 - %25 = OpConstant %6 -1 - %26 = OpConstantComposite %16 %24 %25 - %28 = OpConstant %6 0 - %32 = OpTypePointer Output %7 - %34 = OpTypePointer Output %16 - %35 = OpVariable %34 Output - %37 = OpTypeStruct %7 - %38 = OpTypePointer PushConstant %37 - %39 = OpVariable %38 PushConstant - %40 = OpTypePointer PushConstant %7 - %4 = OpFunction %2 None %3 + OpName %main "main" + OpName %gl_PerVertex "gl_PerVertex" + OpMemberName %gl_PerVertex 0 "gl_Position" + OpMemberName %gl_PerVertex 1 "gl_PointSize" + OpMemberName %gl_PerVertex 2 "gl_ClipDistance" + OpMemberName %gl_PerVertex 3 "gl_CullDistance" + OpName %_ "" + OpName %vfetch_pos "vfetch_pos" + OpName %vtx_uv "vtx_uv" + OpName %PushConstants "PushConstants" + OpMemberName %PushConstants 0 "src_uv" + OpName %push_constants "push_constants" + OpMemberDecorate %gl_PerVertex 0 BuiltIn Position + OpMemberDecorate %gl_PerVertex 1 BuiltIn PointSize + OpMemberDecorate %gl_PerVertex 2 BuiltIn ClipDistance + OpMemberDecorate %gl_PerVertex 3 BuiltIn CullDistance + OpDecorate %gl_PerVertex Block + OpDecorate %vfetch_pos Location 0 + OpDecorate %vtx_uv Location 0 + OpMemberDecorate %PushConstants 0 Offset 0 + OpDecorate %PushConstants Block + %void = OpTypeVoid + %3 = OpTypeFunction %void + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 + %uint = OpTypeInt 32 0 + %uint_1 = OpConstant %uint 1 +%_arr_float_uint_1 = OpTypeArray %float %uint_1 +%gl_PerVertex = OpTypeStruct %v4float %float %_arr_float_uint_1 %_arr_float_uint_1 +%_ptr_Output_gl_PerVertex = OpTypePointer Output %gl_PerVertex + %_ = OpVariable %_ptr_Output_gl_PerVertex Output + %int = OpTypeInt 32 1 + %int_0 = OpConstant %int 0 + %v2float = OpTypeVector %float 2 +%_ptr_Input_v2float = OpTypePointer Input %v2float + %vfetch_pos = OpVariable %_ptr_Input_v2float Input + %float_2 = OpConstant %float 2 + %float_n2 = OpConstant %float -2 + %22 = OpConstantComposite %v2float %float_2 %float_n2 + %float_1 = OpConstant %float 1 + %float_n1 = OpConstant %float -1 + %26 = OpConstantComposite %v2float %float_1 %float_n1 + %float_0 = OpConstant %float 0 +%_ptr_Output_v4float = OpTypePointer Output %v4float +%_ptr_Output_v2float = OpTypePointer Output %v2float + %vtx_uv = OpVariable %_ptr_Output_v2float Output +%PushConstants = OpTypeStruct %v4float +%_ptr_PushConstant_PushConstants = OpTypePointer PushConstant %PushConstants +%push_constants = OpVariable %_ptr_PushConstant_PushConstants PushConstant +%_ptr_PushConstant_v4float = OpTypePointer PushConstant %v4float + %main = OpFunction %void None %3 %5 = OpLabel - %19 = OpLoad %16 %18 - %23 = OpFMul %16 %19 %22 - %27 = OpFSub %16 %23 %26 - %29 = OpCompositeExtract %6 %27 0 - %30 = OpCompositeExtract %6 %27 1 - %31 = OpCompositeConstruct %7 %29 %30 %28 %24 - %33 = OpAccessChain %32 %13 %15 + %19 = OpLoad %v2float %vfetch_pos + %23 = OpFMul %v2float %19 %22 + %27 = OpFSub %v2float %23 %26 + %29 = OpCompositeExtract %float %27 0 + %30 = OpCompositeExtract %float %27 1 + %31 = OpCompositeConstruct %v4float %29 %30 %float_0 %float_1 + %33 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %33 %31 - %36 = OpLoad %16 %18 - %41 = OpAccessChain %40 %39 %15 - %42 = OpLoad %7 %41 - %43 = OpVectorShuffle %16 %42 %42 2 3 - %44 = OpFMul %16 %36 %43 - %45 = OpAccessChain %40 %39 %15 - %46 = OpLoad %7 %45 - %47 = OpVectorShuffle %16 %46 %46 0 1 - %48 = OpFAdd %16 %44 %47 - OpStore %35 %48 + %36 = OpLoad %v2float %vfetch_pos + %41 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %int_0 + %42 = OpLoad %v4float %41 + %43 = OpVectorShuffle %v2float %42 %42 2 3 + %44 = OpFMul %v2float %36 %43 + %45 = OpAccessChain %_ptr_PushConstant_v4float %push_constants %int_0 + %46 = OpLoad %v4float %45 + %47 = OpVectorShuffle %v2float %46 %46 0 1 + %48 = OpFAdd %v2float %44 %47 + OpStore %vtx_uv %48 OpReturn OpFunctionEnd diff --git a/src/xenia/ui/vulkan/shaders/bin/immediate_frag.h b/src/xenia/ui/vulkan/shaders/bin/immediate_frag.h index eb606b3e4..0c9765f4a 100644 --- a/src/xenia/ui/vulkan/shaders/bin/immediate_frag.h +++ b/src/xenia/ui/vulkan/shaders/bin/immediate_frag.h @@ -2,13 +2,13 @@ // source: immediate.frag const uint8_t immediate_frag[] = { 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, - 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, + 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4C, 0x53, 0x4C, 0x2E, 0x73, 0x74, 0x64, 0x2E, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, @@ -16,110 +16,100 @@ const uint8_t immediate_frag[] = { 0x6F, 0x75, 0x74, 0x5F, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x76, 0x74, 0x78, 0x5F, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6F, 0x6E, 0x73, - 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0x00, 0x00, 0x06, 0x00, 0x08, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x72, 0x6F, 0x6A, - 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x5F, 0x6D, 0x61, 0x74, 0x72, 0x69, - 0x78, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, - 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x73, 0x61, 0x6D, - 0x70, 0x6C, 0x65, 0x73, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x70, 0x75, 0x73, 0x68, 0x5F, 0x63, 0x6F, 0x6E, - 0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x1E, 0x00, 0x00, 0x00, 0x76, 0x74, 0x78, 0x5F, 0x75, 0x76, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x5F, - 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, - 0x2E, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, - 0x73, 0x61, 0x6D, 0x70, 0x6C, 0x65, 0x72, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x1E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x2E, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x14, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, - 0x0E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x11, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, - 0x2B, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1C, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x1D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x1F, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, - 0x1F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, 0x20, 0x00, 0x04, 0x00, - 0x29, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x09, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x1B, 0x00, 0x03, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x2C, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x2D, 0x00, 0x00, 0x00, - 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x0C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x05, 0x00, - 0x0D, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x04, 0x00, 0x0D, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x03, 0x00, - 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x04, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, - 0xF8, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xBC, 0x00, 0x05, 0x00, - 0x0D, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x24, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x00, - 0xF8, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x07, 0x00, - 0x0D, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, - 0xF7, 0x00, 0x03, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFA, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, - 0x28, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x27, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, - 0x2E, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x1C, 0x00, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x57, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x2A, 0x00, 0x00, 0x00, - 0x31, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x32, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, - 0x33, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x02, 0x00, - 0x28, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x28, 0x00, 0x00, 0x00, - 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6F, 0x6E, 0x73, + 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0A, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x65, 0x73, 0x74, + 0x72, 0x69, 0x63, 0x74, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x5F, 0x73, 0x61, 0x6D, 0x70, 0x6C, 0x65, 0x73, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x06, 0x00, 0x11, 0x00, 0x00, 0x00, 0x70, 0x75, 0x73, 0x68, + 0x5F, 0x63, 0x6F, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0x00, + 0x05, 0x00, 0x04, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x76, 0x74, 0x78, 0x5F, + 0x75, 0x76, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x74, 0x65, 0x78, 0x5F, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x06, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x74, + 0x75, 0x72, 0x65, 0x5F, 0x73, 0x61, 0x6D, 0x70, 0x6C, 0x65, 0x72, 0x00, + 0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x1C, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x2C, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x04, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x02, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x03, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x3B, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x17, 0x00, 0x04, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1B, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, + 0x1B, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x04, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x1D, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x3F, 0x20, 0x00, 0x04, 0x00, 0x27, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, + 0x29, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x03, 0x00, + 0x2A, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, + 0x3B, 0x00, 0x04, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, + 0x27, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x3D, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x05, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0xA8, 0x00, 0x04, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x16, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x03, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x1F, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, + 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0xBC, 0x00, 0x05, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, + 0xF9, 0x00, 0x02, 0x00, 0x19, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, + 0x19, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x07, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x03, 0x00, + 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x04, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, + 0xF8, 0x00, 0x02, 0x00, 0x25, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, + 0x2A, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, + 0x3D, 0x00, 0x04, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, + 0x1C, 0x00, 0x00, 0x00, 0x57, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x2F, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, + 0x3E, 0x00, 0x03, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, + 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x28, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x31, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x32, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x02, 0x00, 0x26, 0x00, 0x00, 0x00, + 0xF8, 0x00, 0x02, 0x00, 0x26, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00, + 0x38, 0x00, 0x01, 0x00, }; diff --git a/src/xenia/ui/vulkan/shaders/bin/immediate_frag.spv b/src/xenia/ui/vulkan/shaders/bin/immediate_frag.spv index 37ecbe8c03070b1f0b02497e80db407624d4e870..8e4a5dfa6404bf05459021f809f2c242dc56f42e 100644 GIT binary patch literal 1324 zcmY+E$xake6oxM}T{0+&Od^Wa;*7SlF)>bY(JWY)xNzC&U?-A5H>s*7EZO)j#%Ex~ zI~j+>#P6%Yl$ZRRd;WW-``=18#@A1UFvj0xcpQo~7sl~Jmaa1c@tQ%*V`F*Fa>77C2)>d&uGG~LFEumNNmE^bDA*b4M$mbd$>DH*vnbx zAUmva5j{hAKT1Ep8xGQ}H^@@_C`{)(+mQ6rEZN!4x>^4)8zud2+S}XT?HfkLD9mB^ z$*1VQ0?y;S_8J`&y>H=D;=kT^3$9i+2_15seGRzuom*dxHtFiju66JRbkIUhJ&d<^ zJ>Nc8fy;CKR_=u`PnLPDT+yP&68i`)2Ft{&x4s(3{GY`7YVt2i-@X>RjJD z$Su(A40e&YS!@jC*U0t`1vkN47jG|T4}G<^&qkShp1sSS^H|T!cjk*&XZCKMuVU>Z zZ#{i=l5>{J*ciC1uU~0s{uO*Y`i_3;|A8{9L8J+a?au2o@#mzsHeW)KpQyMM=Gk}NS(24J2dj=TB0_WIX-on4yTJ`=(Ozv-|a(z6gI(LWx5o9)5TAmT1(o|AZ7 z;40({;mv6H;q{X?R#m2eSxOn!=<7O-FEv6s?2%qtGDM*^Kw7=lijr z1N6N2a-x?{^=$(<2XvPExJ&OjXAb>df(AR*=ANx%&0<~qy9zwo)oY0s!Xi<|)sioj z=2+ogfvbX5{H?9-x2y6$jr29hKh1P!mD4_hoB+99-Pz@qsCFK?hTj}gAM-BrKaZ>e z{Wj5^NuQLT3Jct=BX3=Gznk1n7Qe{dc>7q&Y{uvIRqh_=x{P!#=hy!V(pY)(tGh=z z``bcRfyaDB-S`^3zUI`fyaqz}^g{b>Zq6&#>3RpLk1@rQ>lFfa&gzQ~-;1OTOK2u=V1 delta 107 zcmaFCy@O|h46h&q6N3T+0|SUw+$d?zsLIB`1>`X>FamK=YH>+XW^ze;00iXci=0@gpCID1e6F&d| diff --git a/src/xenia/ui/vulkan/shaders/bin/immediate_vert.txt b/src/xenia/ui/vulkan/shaders/bin/immediate_vert.txt index b72350eea..9022adb11 100644 --- a/src/xenia/ui/vulkan/shaders/bin/immediate_vert.txt +++ b/src/xenia/ui/vulkan/shaders/bin/immediate_vert.txt @@ -4,92 +4,88 @@ ; Bound: 48 ; Schema: 0 OpCapability Shader - OpCapability ClipDistance - OpCapability CullDistance %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 - OpEntryPoint Vertex %4 "main" %13 %25 %41 %42 %44 %46 + OpEntryPoint Vertex %main "main" %_ %in_pos %vtx_uv %in_uv %vtx_color %in_color OpSource GLSL 450 - OpName %4 "main" - OpName %11 "gl_PerVertex" - OpMemberName %11 0 "gl_Position" - OpMemberName %11 1 "gl_PointSize" - OpMemberName %11 2 "gl_ClipDistance" - OpMemberName %11 3 "gl_CullDistance" - OpName %13 "" - OpName %17 "PushConstants" - OpMemberName %17 0 "projection_matrix" - OpMemberName %17 1 "restrict_texture_samples" - OpName %19 "push_constants" - OpName %25 "in_pos" - OpName %41 "vtx_uv" - OpName %42 "in_uv" - OpName %44 "vtx_color" - OpName %46 "in_color" - OpMemberDecorate %11 0 BuiltIn Position - OpMemberDecorate %11 1 BuiltIn PointSize - OpMemberDecorate %11 2 BuiltIn ClipDistance - OpMemberDecorate %11 3 BuiltIn CullDistance - OpDecorate %11 Block - OpMemberDecorate %17 0 ColMajor - OpMemberDecorate %17 0 Offset 0 - OpMemberDecorate %17 0 MatrixStride 16 - OpMemberDecorate %17 1 Offset 64 - OpDecorate %17 Block - OpDecorate %25 Location 0 - OpDecorate %41 Location 0 - OpDecorate %42 Location 1 - OpDecorate %44 Location 1 - OpDecorate %46 Location 2 - %2 = OpTypeVoid - %3 = OpTypeFunction %2 - %6 = OpTypeFloat 32 - %7 = OpTypeVector %6 4 - %8 = OpTypeInt 32 0 - %9 = OpConstant %8 1 - %10 = OpTypeArray %6 %9 - %11 = OpTypeStruct %7 %6 %10 %10 - %12 = OpTypePointer Output %11 - %13 = OpVariable %12 Output - %14 = OpTypeInt 32 1 - %15 = OpConstant %14 0 - %16 = OpTypeMatrix %7 4 - %17 = OpTypeStruct %16 %14 - %18 = OpTypePointer PushConstant %17 - %19 = OpVariable %18 PushConstant - %20 = OpTypePointer PushConstant %16 - %23 = OpTypeVector %6 2 - %24 = OpTypePointer Input %23 - %25 = OpVariable %24 Input - %27 = OpConstant %6 0 - %28 = OpConstant %6 1 - %33 = OpTypePointer Output %7 - %35 = OpTypePointer Output %6 - %40 = OpTypePointer Output %23 - %41 = OpVariable %40 Output - %42 = OpVariable %24 Input - %44 = OpVariable %33 Output - %45 = OpTypePointer Input %7 - %46 = OpVariable %45 Input - %4 = OpFunction %2 None %3 + OpName %main "main" + OpName %gl_PerVertex "gl_PerVertex" + OpMemberName %gl_PerVertex 0 "gl_Position" + OpMemberName %gl_PerVertex 1 "gl_PointSize" + OpMemberName %gl_PerVertex 2 "gl_ClipDistance" + OpMemberName %gl_PerVertex 3 "gl_CullDistance" + OpName %_ "" + OpName %PushConstants "PushConstants" + OpMemberName %PushConstants 0 "projection_matrix" + OpName %push_constants "push_constants" + OpName %in_pos "in_pos" + OpName %vtx_uv "vtx_uv" + OpName %in_uv "in_uv" + OpName %vtx_color "vtx_color" + OpName %in_color "in_color" + OpMemberDecorate %gl_PerVertex 0 BuiltIn Position + OpMemberDecorate %gl_PerVertex 1 BuiltIn PointSize + OpMemberDecorate %gl_PerVertex 2 BuiltIn ClipDistance + OpMemberDecorate %gl_PerVertex 3 BuiltIn CullDistance + OpDecorate %gl_PerVertex Block + OpMemberDecorate %PushConstants 0 ColMajor + OpMemberDecorate %PushConstants 0 Offset 0 + OpMemberDecorate %PushConstants 0 MatrixStride 16 + OpDecorate %PushConstants Block + OpDecorate %in_pos Location 0 + OpDecorate %vtx_uv Location 0 + OpDecorate %in_uv Location 1 + OpDecorate %vtx_color Location 1 + OpDecorate %in_color Location 2 + %void = OpTypeVoid + %3 = OpTypeFunction %void + %float = OpTypeFloat 32 + %v4float = OpTypeVector %float 4 + %uint = OpTypeInt 32 0 + %uint_1 = OpConstant %uint 1 +%_arr_float_uint_1 = OpTypeArray %float %uint_1 +%gl_PerVertex = OpTypeStruct %v4float %float %_arr_float_uint_1 %_arr_float_uint_1 +%_ptr_Output_gl_PerVertex = OpTypePointer Output %gl_PerVertex + %_ = OpVariable %_ptr_Output_gl_PerVertex Output + %int = OpTypeInt 32 1 + %int_0 = OpConstant %int 0 +%mat4v4float = OpTypeMatrix %v4float 4 +%PushConstants = OpTypeStruct %mat4v4float +%_ptr_PushConstant_PushConstants = OpTypePointer PushConstant %PushConstants +%push_constants = OpVariable %_ptr_PushConstant_PushConstants PushConstant +%_ptr_PushConstant_mat4v4float = OpTypePointer PushConstant %mat4v4float + %v2float = OpTypeVector %float 2 +%_ptr_Input_v2float = OpTypePointer Input %v2float + %in_pos = OpVariable %_ptr_Input_v2float Input + %float_0 = OpConstant %float 0 + %float_1 = OpConstant %float 1 +%_ptr_Output_v4float = OpTypePointer Output %v4float +%_ptr_Output_float = OpTypePointer Output %float +%_ptr_Output_v2float = OpTypePointer Output %v2float + %vtx_uv = OpVariable %_ptr_Output_v2float Output + %in_uv = OpVariable %_ptr_Input_v2float Input + %vtx_color = OpVariable %_ptr_Output_v4float Output +%_ptr_Input_v4float = OpTypePointer Input %v4float + %in_color = OpVariable %_ptr_Input_v4float Input + %main = OpFunction %void None %3 %5 = OpLabel - %21 = OpAccessChain %20 %19 %15 - %22 = OpLoad %16 %21 - %26 = OpLoad %23 %25 - %29 = OpCompositeExtract %6 %26 0 - %30 = OpCompositeExtract %6 %26 1 - %31 = OpCompositeConstruct %7 %29 %30 %27 %28 - %32 = OpMatrixTimesVector %7 %22 %31 - %34 = OpAccessChain %33 %13 %15 + %21 = OpAccessChain %_ptr_PushConstant_mat4v4float %push_constants %int_0 + %22 = OpLoad %mat4v4float %21 + %26 = OpLoad %v2float %in_pos + %29 = OpCompositeExtract %float %26 0 + %30 = OpCompositeExtract %float %26 1 + %31 = OpCompositeConstruct %v4float %29 %30 %float_0 %float_1 + %32 = OpMatrixTimesVector %v4float %22 %31 + %34 = OpAccessChain %_ptr_Output_v4float %_ %int_0 OpStore %34 %32 - %36 = OpAccessChain %35 %13 %15 %9 - %37 = OpLoad %6 %36 - %38 = OpFNegate %6 %37 - %39 = OpAccessChain %35 %13 %15 %9 + %36 = OpAccessChain %_ptr_Output_float %_ %int_0 %uint_1 + %37 = OpLoad %float %36 + %38 = OpFNegate %float %37 + %39 = OpAccessChain %_ptr_Output_float %_ %int_0 %uint_1 OpStore %39 %38 - %43 = OpLoad %23 %42 - OpStore %41 %43 - %47 = OpLoad %7 %46 - OpStore %44 %47 + %43 = OpLoad %v2float %in_uv + OpStore %vtx_uv %43 + %47 = OpLoad %v4float %in_color + OpStore %vtx_color %47 OpReturn OpFunctionEnd diff --git a/src/xenia/ui/vulkan/shaders/immediate.frag b/src/xenia/ui/vulkan/shaders/immediate.frag index c1ebb265e..47e0e2a9b 100644 --- a/src/xenia/ui/vulkan/shaders/immediate.frag +++ b/src/xenia/ui/vulkan/shaders/immediate.frag @@ -5,8 +5,7 @@ precision highp float; layout(push_constant) uniform PushConstants { - mat4 projection_matrix; - int restrict_texture_samples; + layout(offset = 64) int restrict_texture_samples; } push_constants; layout(set = 0, binding = 0) uniform sampler2D texture_sampler; diff --git a/src/xenia/ui/vulkan/shaders/immediate.vert b/src/xenia/ui/vulkan/shaders/immediate.vert index 025c6ae4a..8ac6c4b70 100644 --- a/src/xenia/ui/vulkan/shaders/immediate.vert +++ b/src/xenia/ui/vulkan/shaders/immediate.vert @@ -5,8 +5,7 @@ precision highp float; layout(push_constant) uniform PushConstants { - mat4 projection_matrix; - int restrict_texture_samples; + layout(offset = 0) mat4 projection_matrix; } push_constants; layout(location = 0) in vec2 in_pos;