Adds SPIR-V to effect XML files.

Differential Revision: https://code.wildfiregames.com/D4986
This was SVN commit r27624.
This commit is contained in:
Vladislav Belov 2023-04-29 20:36:37 +00:00
parent ae9f47e741
commit 04230f7e03
34 changed files with 443 additions and 2 deletions

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<effect>
<technique>
<require shaders="arb"/>
<pass shader="arb/canvas2d">
@ -17,4 +16,11 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/canvas2d">
<depth test="FALSE" mask="false"/>
<blend src="src_alpha" dst="one_minus_src_alpha"/>
</pass>
</technique>
</effect>

View File

@ -6,4 +6,10 @@
<depth test="FALSE" mask="false"/>
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/cas">
<depth test="FALSE" mask="false"/>
</pass>
</technique>
</effect>

View File

@ -6,4 +6,10 @@
<depth test="FALSE" mask="false"/>
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/fxaa">
<depth test="FALSE" mask="false"/>
</pass>
</technique>
</effect>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<effect>
<technique>
<require shaders="glsl"/>
<pass shader="glsl/bloom">
@ -8,4 +7,10 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/bloom">
<depth test="FALSE" mask="false"/>
</pass>
</technique>
</effect>

View File

@ -11,4 +11,9 @@
<pass shader="glsl/debug_overlay"/>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/debug_overlay"/>
</technique>
</effect>

View File

@ -19,4 +19,13 @@
</pass>
</technique>
<technique>
<define name="DEBUG_TEXTURED" value="1"/>
<require shaders="spirv"/>
<pass shader="spirv/debug_overlay">
<depth test="FALSE" mask="false"/>
<blend src="src_alpha" dst="one_minus_src_alpha"/>
</pass>
</technique>
</effect>

View File

@ -8,4 +8,8 @@
<require shaders="glsl"/>
<pass shader="glsl/dummy"/>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/dummy"/>
</technique>
</effect>

View File

@ -11,4 +11,9 @@
<pass shader="glsl/foreground_overlay"/>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/foreground_overlay"/>
</technique>
</effect>

View File

@ -8,4 +8,8 @@
<require shaders="glsl"/>
<pass shader="glsl/los_interp"/>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/los_interp"/>
</technique>
</effect>

View File

@ -15,4 +15,11 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/minimap">
<depth test="FALSE" mask="false"/>
</pass>
</technique>
</effect>

View File

@ -19,4 +19,13 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<define name="MINIMAP_LOS" value="1"/>
<pass shader="spirv/minimap">
<depth test="FALSE" mask="false"/>
<color mask_red="FALSE" mask_green="FALSE" mask_blue="FALSE" mask_alpha="TRUE"/>
</pass>
</technique>
</effect>

View File

@ -17,6 +17,14 @@
</pass>
</technique>
<technique>
<require context="PASS_REFLECTIONS"/>
<require shaders="spirv"/>
<pass shader="spirv/model_common">
<cull mode="FRONT"/>
</pass>
</technique>
<technique>
<require context="MODE_SHADOWCAST || MODE_SILHOUETTEOCCLUDER"/>
<require shaders="arb"/>
@ -33,6 +41,14 @@
</pass>
</technique>
<technique>
<require context="MODE_SHADOWCAST || MODE_SILHOUETTEOCCLUDER"/>
<require shaders="spirv"/>
<pass shader="spirv/model_solid">
<color mask_red="FALSE" mask_green="FALSE" mask_blue="FALSE" mask_alpha="FALSE"/>
</pass>
</technique>
<technique>
<require context="MODE_WIREFRAME"/>
@ -50,6 +66,14 @@
</pass>
</technique>
<technique>
<require context="MODE_WIREFRAME"/>
<require shaders="spirv"/>
<pass shader="spirv/model_common">
<polygon mode="LINE"/>
</pass>
</technique>
<technique>
<require context="MODE_WIREFRAME_SOLID"/>
@ -67,6 +91,14 @@
</pass>
</technique>
<technique>
<require context="MODE_WIREFRAME_SOLID"/>
<require shaders="spirv"/>
<pass shader="spirv/model_solid_player">
<polygon mode="LINE"/>
</pass>
</technique>
<technique>
<require context="MODE_SILHOUETTEDISPLAY"/>
@ -88,6 +120,16 @@
</pass>
</technique>
<technique>
<require context="MODE_SILHOUETTEDISPLAY"/>
<require shaders="spirv"/>
<pass shader="spirv/model_solid_player">
<depth func="gequal"/>
<stencil test="TRUE" compare="notequal" reference="1" mask_read="4294967295" pass="REPLACE"/>
<blend src="constant_alpha" dst="one_minus_constant_alpha" constant="0 0 0 191"/>
</pass>
</technique>
<technique>
<require shaders="arb"/>
@ -99,4 +141,9 @@
<pass shader="glsl/model_common"/>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/model_common"/>
</technique>
</effect>

View File

@ -23,6 +23,17 @@
</pass>
</technique>
<technique>
<require context="MODE_SHADOWCAST || MODE_SILHOUETTEOCCLUDER"/>
<require shaders="spirv"/>
<pass shader="spirv/model_solid_tex">
<define name="REQUIRE_ALPHA_GEQUAL" value="0.4"/>
<!-- Disable face-culling for two-sided models -->
<cull mode="NONE"/>
<color mask_red="FALSE" mask_green="FALSE" mask_blue="FALSE" mask_alpha="FALSE"/>
</pass>
</technique>
<!--
CRenderer::RenderSilhouettes skips alpha-blended models for
MODE_SILHOUETTEDISPLAY, so do a dummy non-blended behaviour here to
@ -46,6 +57,15 @@
</pass>
</technique>
<technique>
<require context="MODE_SILHOUETTEDISPLAY"/>
<require shaders="spirv"/>
<pass shader="spirv/model_solid_player">
<depth func="gequal"/>
<stencil test="TRUE" compare="notequal" reference="1" mask_read="4294967295" pass="REPLACE"/>
</pass>
</technique>
<technique>
<require context="MODE_WIREFRAME_SOLID"/>
@ -63,6 +83,14 @@
</pass>
</technique>
<technique>
<require context="MODE_WIREFRAME_SOLID"/>
<require shaders="spirv"/>
<pass shader="spirv/model_solid_player">
<polygon mode="LINE"/>
</pass>
</technique>
<technique>
<require context="MODE_WIREFRAME"/>
@ -86,6 +114,17 @@
<polygon mode="LINE"/>
</pass>
</technique>
<technique>
<require context="MODE_WIREFRAME"/>
<require shaders="spirv"/>
<pass shader="spirv/model_common">
<define name="USE_TRANSPARENT" value="1"/>
<blend src="src_alpha" dst="one_minus_src_alpha"/>
<depth func="less" mask="false"/>
<cull mode="NONE"/>
<polygon mode="LINE"/>
</pass>
</technique>
<technique>
@ -108,6 +147,16 @@
<cull mode="NONE"/>
</pass>
</technique>
<technique>
<require context="PASS_REFLECTIONS"/>
<require context="ALPHABLEND_PASS_OPAQUE"/>
<require shaders="spirv"/>
<pass shader="spirv/model_common">
<define name="USE_TRANSPARENT" value="1"/>
<define name="REQUIRE_ALPHA_GEQUAL" value="0.6375"/>
<cull mode="NONE"/>
</pass>
</technique>
<technique>
@ -134,6 +183,18 @@
<cull mode="NONE"/>
</pass>
</technique>
<technique>
<require context="PASS_REFLECTIONS"/>
<require context="ALPHABLEND_PASS_BLEND"/>
<require shaders="spirv"/>
<pass shader="spirv/model_common">
<define name="USE_TRANSPARENT" value="1"/>
<define name="REQUIRE_ALPHA_GEQUAL" value="0.05"/>
<blend src="src_alpha" dst="one_minus_src_alpha"/>
<depth func="less" mask="false"/>
<cull mode="NONE"/>
</pass>
</technique>
<technique>
@ -154,6 +215,15 @@
</pass>
</technique>
<technique>
<require context="ALPHABLEND_PASS_OPAQUE"/>
<require shaders="spirv"/>
<pass shader="spirv/model_common">
<define name="USE_TRANSPARENT" value="1"/>
<define name="REQUIRE_ALPHA_GEQUAL" value="0.6375"/>
</pass>
</technique>
<technique>
@ -178,4 +248,15 @@
</pass>
</technique>
<technique>
<require context="ALPHABLEND_PASS_BLEND"/>
<require shaders="spirv"/>
<pass shader="spirv/model_common">
<define name="USE_TRANSPARENT" value="1"/>
<define name="REQUIRE_ALPHA_GEQUAL" value="0.05"/>
<blend src="src_alpha" dst="one_minus_src_alpha"/>
<depth func="less" mask="false"/>
</pass>
</technique>
</effect>

View File

@ -13,6 +13,19 @@
<depth func="less" mask="true"/>
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<sort_by_distance/>
<pass shader="spirv/model_water">
<define name="USE_TRANSPARENT" value="1"/>
<define name="USE_SPECULAR" value="1"/>
<define name="USE_NORMAL_MAP" value="1"/>
<define name="USE_INSTANCING" value="1"/>
<define name="REQUIRE_ALPHA_GEQUAL" value="0.05"/>
<blend src="src_alpha" dst="one_minus_src_alpha"/>
<depth func="less" mask="true"/>
</pass>
</technique>
<technique>
<require shaders="arb"/>
</technique>

View File

@ -10,6 +10,16 @@
<depth func="lequal" mask="true"/>
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<sort_by_distance/>
<pass shader="spirv/model_waterfall">
<define name="USE_TRANSPARENT" value="1"/>
<define name="USE_INSTANCING" value="1"/>
<blend src="src_alpha" dst="one_minus_src_alpha"/>
<depth func="lequal" mask="true"/>
</pass>
</technique>
<technique>
<require shaders="arb"/>
</technique>

View File

@ -8,4 +8,8 @@
<require shaders="glsl"/>
<pass shader="glsl/overlayline"/>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/overlayline"/>
</technique>
</effect>

View File

@ -8,4 +8,8 @@
<require shaders="glsl"/>
<pass shader="glsl/overlay_solid"/>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/overlay_solid"/>
</technique>
</effect>

View File

@ -15,4 +15,11 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/particle">
<blend src="src_alpha" dst="one_minus_src_alpha"/>
</pass>
</technique>
</effect>

View File

@ -17,4 +17,12 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/particle">
<blend src="src_alpha" dst="one"/>
<depth mask="false"/>
</pass>
</technique>
</effect>

View File

@ -17,4 +17,12 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/particle">
<blend src="zero" dst="one_minus_src_color"/>
<depth mask="false"/>
</pass>
</technique>
</effect>

View File

@ -17,4 +17,12 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/particle">
<blend src="src_alpha" dst="one_minus_src_alpha"/>
<depth mask="false"/>
</pass>
</technique>
</effect>

View File

@ -17,6 +17,14 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<require context="MODE_WIREFRAME"/>
<pass shader="spirv/particle_solid">
<polygon mode="LINE"/>
</pass>
</technique>
<technique>
<require shaders="arb"/>
@ -32,4 +40,11 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/particle_solid">
<depth mask="false"/>
</pass>
</technique>
</effect>

View File

@ -17,4 +17,12 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/particle">
<blend src="src_alpha" dst="one" op="REVERSE_SUBTRACT"/>
<depth mask="false"/>
</pass>
</technique>
</effect>

View File

@ -10,4 +10,14 @@
<depth test="FALSE" mask="false"/>
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/dof">
<define name="BLUR_FOV" value="3"/>
<depth test="FALSE" mask="false"/>
</pass>
<pass shader="spirv/hdr">
<depth test="FALSE" mask="false"/>
</pass>
</technique>
</effect>

View File

@ -8,4 +8,11 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/hdr">
<depth test="FALSE" mask="false"/>
</pass>
</technique>
</effect>

View File

@ -15,4 +15,11 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/sky">
<depth mask="false"/>
</pass>
</technique>
</effect>

View File

@ -11,4 +11,9 @@
<pass shader="glsl/solid"/>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/solid"/>
</technique>
</effect>

View File

@ -17,6 +17,14 @@
</pass>
</technique>
<technique>
<require context="PASS_REFLECTIONS"/>
<require shaders="spirv"/>
<pass shader="spirv/terrain_base">
<cull mode="FRONT"/>
</pass>
</technique>
<technique>
<require shaders="arb"/>
@ -34,6 +42,14 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<require context="MODE_WIREFRAME"/>
<pass shader="spirv/terrain_base">
<polygon mode="LINE"/>
</pass>
</technique>
<technique>
<require shaders="arb"/>
@ -45,4 +61,9 @@
<pass shader="glsl/terrain_base"/>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/terrain_base"/>
</technique>
</effect>

View File

@ -21,6 +21,16 @@
</pass>
</technique>
<technique>
<require context="PASS_REFLECTIONS"/>
<require shaders="spirv"/>
<pass shader="spirv/terrain_blend">
<depth mask="false"/>
<cull mode="FRONT"/>
<blend src="src_alpha" dst="one_minus_src_alpha"/>
</pass>
</technique>
<technique>
<require shaders="arb"/>
@ -42,6 +52,16 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<require context="MODE_WIREFRAME"/>
<pass shader="spirv/terrain_blend">
<depth mask="false"/>
<polygon mode="LINE"/>
<blend src="src_alpha" dst="one_minus_src_alpha"/>
</pass>
</technique>
<technique>
<require shaders="arb"/>
@ -59,4 +79,12 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/terrain_blend">
<depth mask="false"/>
<blend src="src_alpha" dst="one_minus_src_alpha"/>
</pass>
</technique>
</effect>

View File

@ -21,6 +21,16 @@
</pass>
</technique>
<technique>
<require context="PASS_REFLECTIONS"/>
<require shaders="spirv"/>
<pass shader="spirv/terrain_decal">
<depth mask="false"/>
<cull mode="FRONT"/>
<blend src="src_alpha" dst="one_minus_src_alpha"/>
</pass>
</technique>
<technique>
<require shaders="arb"/>
@ -42,6 +52,16 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<require context="MODE_WIREFRAME"/>
<pass shader="spirv/terrain_decal">
<depth mask="false"/>
<polygon mode="LINE"/>
<blend src="src_alpha" dst="one_minus_src_alpha"/>
</pass>
</technique>
<technique>
<require shaders="arb"/>
@ -59,4 +79,12 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/terrain_decal">
<depth mask="false"/>
<blend src="src_alpha" dst="one_minus_src_alpha"/>
</pass>
</technique>
</effect>

View File

@ -23,6 +23,19 @@
<color mask_red="FALSE" mask_green="FALSE" mask_blue="FALSE" mask_alpha="FALSE"/>
</pass>
</technique>
<technique>
<require context="PASS_SHADOWS || MODE_SILHOUETTEOCCLUDER"/>
<require shaders="spirv"/>
<pass shader="spirv/dummy">
<!--
To prevent units displaying silhouettes when parts of their model
protrude into the ground, only occlude with the back faces of the
terrain (so silhouettes will still display when behind hills).
-->
<cull mode="FRONT"/>
<color mask_red="FALSE" mask_green="FALSE" mask_blue="FALSE" mask_alpha="FALSE"/>
</pass>
</technique>
<technique>
<require shaders="arb"/>
@ -38,6 +51,13 @@
<polygon mode="LINE"/>
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<require context="MODE_WIREFRAME"/>
<pass shader="spirv/dummy">
<polygon mode="LINE"/>
</pass>
</technique>
<technique>
<require shaders="arb"/>
@ -47,5 +67,9 @@
<require shaders="glsl"/>
<pass shader="glsl/dummy"/>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/dummy"/>
</technique>
</effect>

View File

@ -7,4 +7,12 @@
<blend src="src_alpha" dst="one_minus_src_alpha"/>
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/water_high">
<depth test="TRUE"/>
<blend src="src_alpha" dst="one_minus_src_alpha"/>
</pass>
</technique>
</effect>

View File

@ -19,6 +19,15 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<require context="MODE_WIREFRAME"/>
<pass shader="spirv/water_simple">
<depth test="TRUE"/>
<polygon mode="LINE"/>
</pass>
</technique>
<technique>
<require shaders="arb"/>
@ -34,4 +43,11 @@
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/water_simple">
<depth test="TRUE"/>
</pass>
</technique>
</effect>

View File

@ -7,4 +7,12 @@
<blend src="src_alpha" dst="one_minus_src_alpha"/>
</pass>
</technique>
<technique>
<require shaders="spirv"/>
<pass shader="spirv/waves">
<depth test="TRUE" func="always"/>
<blend src="src_alpha" dst="one_minus_src_alpha"/>
</pass>
</technique>
</effect>