mirror of
https://github.com/godotengine/godot-angle-static.git
synced 2026-01-01 05:48:11 +03:00
Don't pack gl_TessLevelInner/Outer
Per the GL spec: The built-in outputs gl_TessLevelOuter and gl_TessLevelInner are not counted against the per-patch limit. Bug: angleproject:3572 Change-Id: I9fb2255d730988e7bfd6b76f9b5fdab8c475c468 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4873400 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
This commit is contained in:
committed by
Angle LUCI CQ
parent
1b450b92c5
commit
602cc1f1c7
@@ -148,8 +148,10 @@ GLint GetMaxShaderOutputVectors(const Caps &caps, ShaderType shaderStage)
|
||||
bool ShouldSkipPackedVarying(const sh::ShaderVariable &varying, PackMode packMode)
|
||||
{
|
||||
// Don't pack gl_Position. Also don't count gl_PointSize for D3D9.
|
||||
// Additionally, gl_TessLevelInner and gl_TessLevelOuter should not be packed.
|
||||
return varying.name == "gl_Position" ||
|
||||
(varying.name == "gl_PointSize" && packMode == PackMode::ANGLE_NON_CONFORMANT_D3D9);
|
||||
(varying.name == "gl_PointSize" && packMode == PackMode::ANGLE_NON_CONFORMANT_D3D9) ||
|
||||
varying.name == "gl_TessLevelInner" || varying.name == "gl_TessLevelOuter";
|
||||
}
|
||||
|
||||
std::vector<unsigned int> StripVaryingArrayDimension(const sh::ShaderVariable *frontVarying,
|
||||
|
||||
Reference in New Issue
Block a user