Shader error: Undeclared Identifier "_BlendMode" after upgrading to HDRP 10.1.0

Got this error in a custom shader after upgrading from HDRP 10.0.0 preview.27 to HDRP 10.1.0 (Unity 2020.2.0b8).

Appreciate any help resolving this error.

Hey, it is now required to have _BlendMode defined as a property instead of the keywords BLENDMODE_ALPHA etc.

More information here Upgrading HDRP from 8.x to 10.x | High Definition RP | 10.1.0 (search _BLENDMODE_ALPHA to find the paragraph)

2 Likes

Thank you very much, this resolved all our issues. Much appreciated, have a great weekend!

@francescoc_unity I am getting another shader error after upgrading;

Shader error in: unrecognized identifier ‘HDShadowContext’ at line 60 (on d3d11)

Do you have any pointers on how to address this also, much appreciated!

Without knowing your shader is hard to tell, but be sure “Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowContext.hlsl” is included somewhere before the shadow context is referenced.

AFAIK nothing changed between 10.0.0 preview.27 and 10.1.0 regarding that, but I might have missed something.

1 Like

After upgrading to latest HDRP 10.2.0 on git (release branch), I get the following shader error:

undeclared identifier ‘ComputeScreenPos’ at line 4663 (on d3d11)

Is this something you would be willing to help me sort out (I know I am using git, but trying to keep up :))

1 Like

Having exact same error. It would be awesome if someone could help us with that a bit.

1 Like

Same. Shaders that uses the built-in ComputeScreenPos function are no complaining about it being an undeclared identifier in HDRP 10.2.2 in Unity 2020.2.1f1.

Add: #include “Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphHeader.hlsl”

2 Likes