From e9d16655f0ee951c96eab08db2bc50c1bd65355a Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 17 Apr 2016 00:16:32 +0200 Subject: [PATCH] Create d3d_shaders --- gfx/d3d/render_chain_cg.cpp | 25 +------------ gfx/drivers/d3d_shaders/opaque.cg.d3d9.h | 23 ++++++++++++ gfx/drivers/d3d_shaders/opaque.hlsl.d3d9.h | 41 +++++++++++++++++++++ gfx/drivers_shader/shader_hlsl.c | 42 +--------------------- 4 files changed, 66 insertions(+), 65 deletions(-) create mode 100644 gfx/drivers/d3d_shaders/opaque.cg.d3d9.h create mode 100644 gfx/drivers/d3d_shaders/opaque.hlsl.d3d9.h diff --git a/gfx/d3d/render_chain_cg.cpp b/gfx/d3d/render_chain_cg.cpp index 2f0163974c..262c9083a9 100644 --- a/gfx/d3d/render_chain_cg.cpp +++ b/gfx/d3d/render_chain_cg.cpp @@ -86,30 +86,7 @@ typedef struct cg_renderchain CGcontext cgCtx; } cg_renderchain_t; - -static const char *stock_cg_d3d9_program = - "void main_vertex" - "(" - " float4 position : POSITION," - " float2 texCoord : TEXCOORD0," - " float4 color : COLOR," - "" - " uniform float4x4 modelViewProj," - "" - " out float4 oPosition : POSITION," - " out float2 otexCoord : TEXCOORD0," - " out float4 oColor : COLOR" - ")" - "{" - " oPosition = mul(modelViewProj, position);" - " otexCoord = texCoord;" - " oColor = color;" - "}" - "" - "float4 main_fragment(in float4 color : COLOR, float2 tex : TEXCOORD0, uniform sampler2D s0 : TEXUNIT0) : COLOR" - "{" - " return color * tex2D(s0, tex);" - "}"; +#include "../drivers/d3d_shaders/opaque.cg.d3d9.h" static INLINE bool validate_param_name(const char *name) { diff --git a/gfx/drivers/d3d_shaders/opaque.cg.d3d9.h b/gfx/drivers/d3d_shaders/opaque.cg.d3d9.h new file mode 100644 index 0000000000..3c4c5566d9 --- /dev/null +++ b/gfx/drivers/d3d_shaders/opaque.cg.d3d9.h @@ -0,0 +1,23 @@ +static const char *stock_cg_d3d9_program = + "void main_vertex" + "(" + " float4 position : POSITION," + " float2 texCoord : TEXCOORD0," + " float4 color : COLOR," + "" + " uniform float4x4 modelViewProj," + "" + " out float4 oPosition : POSITION," + " out float2 otexCoord : TEXCOORD0," + " out float4 oColor : COLOR" + ")" + "{" + " oPosition = mul(modelViewProj, position);" + " otexCoord = texCoord;" + " oColor = color;" + "}" + "" + "float4 main_fragment(in float4 color : COLOR, float2 tex : TEXCOORD0, uniform sampler2D s0 : TEXUNIT0) : COLOR" + "{" + " return color * tex2D(s0, tex);" + "}"; diff --git a/gfx/drivers/d3d_shaders/opaque.hlsl.d3d9.h b/gfx/drivers/d3d_shaders/opaque.hlsl.d3d9.h new file mode 100644 index 0000000000..e5029c9d73 --- /dev/null +++ b/gfx/drivers/d3d_shaders/opaque.hlsl.d3d9.h @@ -0,0 +1,41 @@ +static const char *stock_hlsl_program = + "void main_vertex\n" + "(\n" + " float4 position : POSITION,\n" + " float4 color : COLOR,\n" + "\n" + " uniform float4x4 modelViewProj,\n" + "\n" + " float4 texCoord : TEXCOORD0,\n" + " out float4 oPosition : POSITION,\n" + " out float4 oColor : COLOR,\n" + " out float2 otexCoord : TEXCOORD\n" + ")\n" + "{\n" + " oPosition = mul(modelViewProj, position);\n" + " oColor = color;\n" + " otexCoord = texCoord;\n" + "}\n" + "\n" + "struct output\n" + "{\n" + " float4 color: COLOR;\n" + "};\n" + "\n" + "struct input\n" + "{\n" + " float2 video_size;\n" + " float2 texture_size;\n" + " float2 output_size;\n" + " float frame_count;\n" + " float frame_direction;\n" + " float frame_rotation;\n" + "};\n" + "\n" + "output main_fragment(float2 texCoord : TEXCOORD0,\n" + "uniform sampler2D decal : TEXUNIT0, uniform input IN)\n" + "{\n" + " output OUT;\n" + " OUT.color = tex2D(decal, texCoord);\n" + " return OUT;\n" + "}\n"; diff --git a/gfx/drivers_shader/shader_hlsl.c b/gfx/drivers_shader/shader_hlsl.c index 1dc7c89172..cd24d4674b 100644 --- a/gfx/drivers_shader/shader_hlsl.c +++ b/gfx/drivers_shader/shader_hlsl.c @@ -22,47 +22,7 @@ #include "../d3d/d3d.h" #include "../../rewind.h" -static const char *stock_hlsl_program = - "void main_vertex\n" - "(\n" - " float4 position : POSITION,\n" - " float4 color : COLOR,\n" - "\n" - " uniform float4x4 modelViewProj,\n" - "\n" - " float4 texCoord : TEXCOORD0,\n" - " out float4 oPosition : POSITION,\n" - " out float4 oColor : COLOR,\n" - " out float2 otexCoord : TEXCOORD\n" - ")\n" - "{\n" - " oPosition = mul(modelViewProj, position);\n" - " oColor = color;\n" - " otexCoord = texCoord;\n" - "}\n" - "\n" - "struct output\n" - "{\n" - " float4 color: COLOR;\n" - "};\n" - "\n" - "struct input\n" - "{\n" - " float2 video_size;\n" - " float2 texture_size;\n" - " float2 output_size;\n" - " float frame_count;\n" - " float frame_direction;\n" - " float frame_rotation;\n" - "};\n" - "\n" - "output main_fragment(float2 texCoord : TEXCOORD0,\n" - "uniform sampler2D decal : TEXUNIT0, uniform input IN)\n" - "{\n" - " output OUT;\n" - " OUT.color = tex2D(decal, texCoord);\n" - " return OUT;\n" - "}\n"; +#include "../drivers/d3d_shaders/opaque.hlsl.d3d9.h" struct shader_program_hlsl_data {