diff --git a/src/gpu/d3dcommon/D3D_Blit.hlsl b/src/gpu/d3d12/D3D_Blit.hlsl similarity index 85% rename from src/gpu/d3dcommon/D3D_Blit.hlsl rename to src/gpu/d3d12/D3D_Blit.hlsl index c629c944fb..69748d4b5c 100644 --- a/src/gpu/d3dcommon/D3D_Blit.hlsl +++ b/src/gpu/d3d12/D3D_Blit.hlsl @@ -1,21 +1,15 @@ -#if D3D12 #define BlitRS \ "DescriptorTable ( Sampler(s0, space=2), visibility = SHADER_VISIBILITY_PIXEL ),"\ "DescriptorTable ( SRV(t0, space=2), visibility = SHADER_VISIBILITY_PIXEL ),"\ "CBV(b0, space=3, visibility = SHADER_VISIBILITY_PIXEL),"\ -#define REG(reg, space) register(reg, space) -#else -#define REG(reg, space) register(reg) -#endif - struct VertexToPixel { float2 tex : TEXCOORD0; float4 pos : SV_POSITION; }; -cbuffer SourceRegionBuffer : REG(b0, space3) +cbuffer SourceRegionBuffer : register(b0, space3) { float2 UVLeftTop; float2 UVDimensions; @@ -23,16 +17,14 @@ cbuffer SourceRegionBuffer : REG(b0, space3) float LayerOrDepth; }; -Texture2D SourceTexture2D : REG(t0, space2); -Texture2DArray SourceTexture2DArray : REG(t0, space2); -Texture3D SourceTexture3D : REG(t0, space2); -TextureCube SourceTextureCube : REG(t0, space2); -TextureCubeArray SourceTextureCubeArray : REG(t0, space2); -sampler SourceSampler : REG(s0, space2); +Texture2D SourceTexture2D : register(t0, space2); +Texture2DArray SourceTexture2DArray : register(t0, space2); +Texture3D SourceTexture3D : register(t0, space2); +TextureCube SourceTextureCube : register(t0, space2); +TextureCubeArray SourceTextureCubeArray : register(t0, space2); +sampler SourceSampler : register(s0, space2); -#if D3D12 [RootSignature(BlitRS)] -#endif VertexToPixel FullscreenVert(uint vI : SV_VERTEXID) { float2 inTex = float2((vI << 1) & 2, vI & 2); @@ -42,36 +34,28 @@ VertexToPixel FullscreenVert(uint vI : SV_VERTEXID) return Out; } -#if D3D12 [RootSignature(BlitRS)] -#endif float4 BlitFrom2D(VertexToPixel input) : SV_Target0 { float2 newCoord = UVLeftTop + UVDimensions * input.tex; return SourceTexture2D.SampleLevel(SourceSampler, newCoord, MipLevel); } -#if D3D12 [RootSignature(BlitRS)] -#endif float4 BlitFrom2DArray(VertexToPixel input) : SV_Target0 { float3 newCoord = float3(UVLeftTop + UVDimensions * input.tex, (uint)LayerOrDepth); return SourceTexture2DArray.SampleLevel(SourceSampler, newCoord, MipLevel); } -#if D3D12 [RootSignature(BlitRS)] -#endif float4 BlitFrom3D(VertexToPixel input) : SV_Target0 { float3 newCoord = float3(UVLeftTop + UVDimensions * input.tex, LayerOrDepth); return SourceTexture3D.SampleLevel(SourceSampler, newCoord, MipLevel); } -#if D3D12 [RootSignature(BlitRS)] -#endif float4 BlitFromCube(VertexToPixel input) : SV_Target0 { // Thanks, Wikipedia! https://en.wikipedia.org/wiki/Cube_mapping @@ -91,9 +75,7 @@ float4 BlitFromCube(VertexToPixel input) : SV_Target0 return SourceTextureCube.SampleLevel(SourceSampler, newCoord, MipLevel); } -#if D3D12 [RootSignature(BlitRS)] -#endif float4 BlitFromCubeArray(VertexToPixel input) : SV_Target0 { // Thanks, Wikipedia! https://en.wikipedia.org/wiki/Cube_mapping diff --git a/src/gpu/d3d12/compile_shaders.bat b/src/gpu/d3d12/compile_shaders.bat index 6733fabdd5..7aa78ef7ab 100644 --- a/src/gpu/d3d12/compile_shaders.bat +++ b/src/gpu/d3d12/compile_shaders.bat @@ -8,11 +8,11 @@ echo Suffix %SUFFIX% cd "%~dp0" -%DXC% -E FullscreenVert -T vs_6_0 -Fh D3D12_FullscreenVert.h ..\d3dcommon\D3D_Blit.hlsl /D D3D12=1 -%DXC% -E BlitFrom2D -T ps_6_0 -Fh D3D12_BlitFrom2D.h ..\d3dcommon\D3D_Blit.hlsl /D D3D12=1 -%DXC% -E BlitFrom2DArray -T ps_6_0 -Fh D3D12_BlitFrom2DArray.h ..\d3dcommon\D3D_Blit.hlsl /D D3D12=1 -%DXC% -E BlitFrom3D -T ps_6_0 -Fh D3D12_BlitFrom3D.h ..\d3dcommon\D3D_Blit.hlsl /D D3D12=1 -%DXC% -E BlitFromCube -T ps_6_0 -Fh D3D12_BlitFromCube.h ..\d3dcommon\D3D_Blit.hlsl /D D3D12=1 -%DXC% -E BlitFromCubeArray -T ps_6_0 -Fh D3D12_BlitFromCubeArray.h ..\d3dcommon\D3D_Blit.hlsl /D D3D12=1 +%DXC% -E FullscreenVert -T vs_6_0 -Fh D3D12_FullscreenVert.h D3D_Blit.hlsl +%DXC% -E BlitFrom2D -T ps_6_0 -Fh D3D12_BlitFrom2D.h D3D_Blit.hlsl +%DXC% -E BlitFrom2DArray -T ps_6_0 -Fh D3D12_BlitFrom2DArray.h D3D_Blit.hlsl +%DXC% -E BlitFrom3D -T ps_6_0 -Fh D3D12_BlitFrom3D.h D3D_Blit.hlsl +%DXC% -E BlitFromCube -T ps_6_0 -Fh D3D12_BlitFromCube.h D3D_Blit.hlsl +%DXC% -E BlitFromCubeArray -T ps_6_0 -Fh D3D12_BlitFromCubeArray.h D3D_Blit.hlsl copy /b D3D12_FullscreenVert.h+D3D12_BlitFrom2D.h+D3D12_BlitFrom2DArray.h+D3D12_BlitFrom3D.h+D3D12_BlitFromCube.h+D3D12_BlitFromCubeArray.h D3D12_Blit%SUFFIX% del D3D12_FullscreenVert.h D3D12_BlitFrom2D.h D3D12_BlitFrom2DArray.h D3D12_BlitFrom3D.h D3D12_BlitFromCube.h D3D12_BlitFromCubeArray.h