@@ -61,20 +61,22 @@ namespace xe {
61
61
namespace gpu {
62
62
namespace d3d12 {
63
63
64
- // Generated with `xb buildhlsl`.
65
- #include " xenia/gpu/d3d12/shaders/dxbc/adaptive_quad_hs.h"
66
- #include " xenia/gpu/d3d12/shaders/dxbc/adaptive_triangle_hs.h"
67
- #include " xenia/gpu/d3d12/shaders/dxbc/continuous_quad_hs.h"
68
- #include " xenia/gpu/d3d12/shaders/dxbc/continuous_triangle_hs.h"
69
- #include " xenia/gpu/d3d12/shaders/dxbc/discrete_quad_hs.h"
70
- #include " xenia/gpu/d3d12/shaders/dxbc/discrete_triangle_hs.h"
71
- #include " xenia/gpu/d3d12/shaders/dxbc/float24_round_ps.h"
72
- #include " xenia/gpu/d3d12/shaders/dxbc/float24_truncate_ps.h"
73
- #include " xenia/gpu/d3d12/shaders/dxbc/primitive_point_list_gs.h"
74
- #include " xenia/gpu/d3d12/shaders/dxbc/primitive_quad_list_gs.h"
75
- #include " xenia/gpu/d3d12/shaders/dxbc/primitive_rectangle_list_gs.h"
76
- #include " xenia/gpu/d3d12/shaders/dxbc/tessellation_adaptive_vs.h"
77
- #include " xenia/gpu/d3d12/shaders/dxbc/tessellation_indexed_vs.h"
64
+ // Generated with `xb buildshaders`.
65
+ namespace shaders {
66
+ #include " xenia/gpu/shaders/bytecode/d3d12_5_1/adaptive_quad_hs.h"
67
+ #include " xenia/gpu/shaders/bytecode/d3d12_5_1/adaptive_triangle_hs.h"
68
+ #include " xenia/gpu/shaders/bytecode/d3d12_5_1/continuous_quad_hs.h"
69
+ #include " xenia/gpu/shaders/bytecode/d3d12_5_1/continuous_triangle_hs.h"
70
+ #include " xenia/gpu/shaders/bytecode/d3d12_5_1/discrete_quad_hs.h"
71
+ #include " xenia/gpu/shaders/bytecode/d3d12_5_1/discrete_triangle_hs.h"
72
+ #include " xenia/gpu/shaders/bytecode/d3d12_5_1/float24_round_ps.h"
73
+ #include " xenia/gpu/shaders/bytecode/d3d12_5_1/float24_truncate_ps.h"
74
+ #include " xenia/gpu/shaders/bytecode/d3d12_5_1/primitive_point_list_gs.h"
75
+ #include " xenia/gpu/shaders/bytecode/d3d12_5_1/primitive_quad_list_gs.h"
76
+ #include " xenia/gpu/shaders/bytecode/d3d12_5_1/primitive_rectangle_list_gs.h"
77
+ #include " xenia/gpu/shaders/bytecode/d3d12_5_1/tessellation_adaptive_vs.h"
78
+ #include " xenia/gpu/shaders/bytecode/d3d12_5_1/tessellation_indexed_vs.h"
79
+ } // namespace shaders
78
80
79
81
PipelineCache::PipelineCache (D3D12CommandProcessor& command_processor,
80
82
const RegisterFile& register_file,
@@ -1746,16 +1748,17 @@ ID3D12PipelineState* PipelineCache::CreateD3D12Pipeline(
1746
1748
}
1747
1749
switch (description.geometry_shader ) {
1748
1750
case PipelineGeometryShader::kPointList :
1749
- state_desc.GS .pShaderBytecode = primitive_point_list_gs;
1750
- state_desc.GS .BytecodeLength = sizeof (primitive_point_list_gs);
1751
+ state_desc.GS .pShaderBytecode = shaders:: primitive_point_list_gs;
1752
+ state_desc.GS .BytecodeLength = sizeof (shaders:: primitive_point_list_gs);
1751
1753
break ;
1752
1754
case PipelineGeometryShader::kRectangleList :
1753
- state_desc.GS .pShaderBytecode = primitive_rectangle_list_gs;
1754
- state_desc.GS .BytecodeLength = sizeof (primitive_rectangle_list_gs);
1755
+ state_desc.GS .pShaderBytecode = shaders::primitive_rectangle_list_gs;
1756
+ state_desc.GS .BytecodeLength =
1757
+ sizeof (shaders::primitive_rectangle_list_gs);
1755
1758
break ;
1756
1759
case PipelineGeometryShader::kQuadList :
1757
- state_desc.GS .pShaderBytecode = primitive_quad_list_gs;
1758
- state_desc.GS .BytecodeLength = sizeof (primitive_quad_list_gs);
1760
+ state_desc.GS .pShaderBytecode = shaders:: primitive_quad_list_gs;
1761
+ state_desc.GS .BytecodeLength = sizeof (shaders:: primitive_quad_list_gs);
1759
1762
break ;
1760
1763
default :
1761
1764
break ;
@@ -1765,24 +1768,25 @@ ID3D12PipelineState* PipelineCache::CreateD3D12Pipeline(
1765
1768
xenos::TessellationMode tessellation_mode = xenos::TessellationMode (
1766
1769
description.primitive_topology_type_or_tessellation_mode );
1767
1770
if (tessellation_mode == xenos::TessellationMode::kAdaptive ) {
1768
- state_desc.VS .pShaderBytecode = tessellation_adaptive_vs;
1769
- state_desc.VS .BytecodeLength = sizeof (tessellation_adaptive_vs);
1771
+ state_desc.VS .pShaderBytecode = shaders:: tessellation_adaptive_vs;
1772
+ state_desc.VS .BytecodeLength = sizeof (shaders:: tessellation_adaptive_vs);
1770
1773
} else {
1771
- state_desc.VS .pShaderBytecode = tessellation_indexed_vs;
1772
- state_desc.VS .BytecodeLength = sizeof (tessellation_indexed_vs);
1774
+ state_desc.VS .pShaderBytecode = shaders:: tessellation_indexed_vs;
1775
+ state_desc.VS .BytecodeLength = sizeof (shaders:: tessellation_indexed_vs);
1773
1776
}
1774
1777
switch (tessellation_mode) {
1775
1778
case xenos::TessellationMode::kDiscrete :
1776
1779
switch (host_vertex_shader_type) {
1777
1780
case Shader::HostVertexShaderType::kTriangleDomainCPIndexed :
1778
1781
case Shader::HostVertexShaderType::kTriangleDomainPatchIndexed :
1779
- state_desc.HS .pShaderBytecode = discrete_triangle_hs;
1780
- state_desc.HS .BytecodeLength = sizeof (discrete_triangle_hs);
1782
+ state_desc.HS .pShaderBytecode = shaders::discrete_triangle_hs;
1783
+ state_desc.HS .BytecodeLength =
1784
+ sizeof (shaders::discrete_triangle_hs);
1781
1785
break ;
1782
1786
case Shader::HostVertexShaderType::kQuadDomainCPIndexed :
1783
1787
case Shader::HostVertexShaderType::kQuadDomainPatchIndexed :
1784
- state_desc.HS .pShaderBytecode = discrete_quad_hs;
1785
- state_desc.HS .BytecodeLength = sizeof (discrete_quad_hs);
1788
+ state_desc.HS .pShaderBytecode = shaders:: discrete_quad_hs;
1789
+ state_desc.HS .BytecodeLength = sizeof (shaders:: discrete_quad_hs);
1786
1790
break ;
1787
1791
default :
1788
1792
assert_unhandled_case (host_vertex_shader_type);
@@ -1793,13 +1797,14 @@ ID3D12PipelineState* PipelineCache::CreateD3D12Pipeline(
1793
1797
switch (host_vertex_shader_type) {
1794
1798
case Shader::HostVertexShaderType::kTriangleDomainCPIndexed :
1795
1799
case Shader::HostVertexShaderType::kTriangleDomainPatchIndexed :
1796
- state_desc.HS .pShaderBytecode = continuous_triangle_hs;
1797
- state_desc.HS .BytecodeLength = sizeof (continuous_triangle_hs);
1800
+ state_desc.HS .pShaderBytecode = shaders::continuous_triangle_hs;
1801
+ state_desc.HS .BytecodeLength =
1802
+ sizeof (shaders::continuous_triangle_hs);
1798
1803
break ;
1799
1804
case Shader::HostVertexShaderType::kQuadDomainCPIndexed :
1800
1805
case Shader::HostVertexShaderType::kQuadDomainPatchIndexed :
1801
- state_desc.HS .pShaderBytecode = continuous_quad_hs;
1802
- state_desc.HS .BytecodeLength = sizeof (continuous_quad_hs);
1806
+ state_desc.HS .pShaderBytecode = shaders:: continuous_quad_hs;
1807
+ state_desc.HS .BytecodeLength = sizeof (shaders:: continuous_quad_hs);
1803
1808
break ;
1804
1809
default :
1805
1810
assert_unhandled_case (host_vertex_shader_type);
@@ -1809,12 +1814,13 @@ ID3D12PipelineState* PipelineCache::CreateD3D12Pipeline(
1809
1814
case xenos::TessellationMode::kAdaptive :
1810
1815
switch (host_vertex_shader_type) {
1811
1816
case Shader::HostVertexShaderType::kTriangleDomainPatchIndexed :
1812
- state_desc.HS .pShaderBytecode = adaptive_triangle_hs;
1813
- state_desc.HS .BytecodeLength = sizeof (adaptive_triangle_hs);
1817
+ state_desc.HS .pShaderBytecode = shaders::adaptive_triangle_hs;
1818
+ state_desc.HS .BytecodeLength =
1819
+ sizeof (shaders::adaptive_triangle_hs);
1814
1820
break ;
1815
1821
case Shader::HostVertexShaderType::kQuadDomainPatchIndexed :
1816
- state_desc.HS .pShaderBytecode = adaptive_quad_hs;
1817
- state_desc.HS .BytecodeLength = sizeof (adaptive_quad_hs);
1822
+ state_desc.HS .pShaderBytecode = shaders:: adaptive_quad_hs;
1823
+ state_desc.HS .BytecodeLength = sizeof (shaders:: adaptive_quad_hs);
1818
1824
break ;
1819
1825
default :
1820
1826
assert_unhandled_case (host_vertex_shader_type);
@@ -1852,12 +1858,12 @@ ID3D12PipelineState* PipelineCache::CreateD3D12Pipeline(
1852
1858
description.depth_format == xenos::DepthRenderTargetFormat::kD24FS8 ) {
1853
1859
switch (render_target_cache_.depth_float24_conversion ()) {
1854
1860
case RenderTargetCache::DepthFloat24Conversion::kOnOutputTruncating :
1855
- state_desc.PS .pShaderBytecode = float24_truncate_ps;
1856
- state_desc.PS .BytecodeLength = sizeof (float24_truncate_ps);
1861
+ state_desc.PS .pShaderBytecode = shaders:: float24_truncate_ps;
1862
+ state_desc.PS .BytecodeLength = sizeof (shaders:: float24_truncate_ps);
1857
1863
break ;
1858
1864
case RenderTargetCache::DepthFloat24Conversion::kOnOutputRounding :
1859
- state_desc.PS .pShaderBytecode = float24_round_ps;
1860
- state_desc.PS .BytecodeLength = sizeof (float24_round_ps);
1865
+ state_desc.PS .pShaderBytecode = shaders:: float24_round_ps;
1866
+ state_desc.PS .BytecodeLength = sizeof (shaders:: float24_round_ps);
1861
1867
break ;
1862
1868
default :
1863
1869
break ;
0 commit comments