KhronosGroup / OpenGL-API

OpenGL and OpenGL ES API Issue Tracker
34 stars 5 forks source link

ES 3.2: Varying packing rules on geometry shader inputs/outputs #37

Closed Jiawei-Shao closed 5 years ago

Jiawei-Shao commented 6 years ago

Hi,

ESSL 3.2 SPEC provides an algorithm for varying packing on vertex shader outputs and fragment shader inputs (Chapter 12 Page 196 "Counting of Inputs and Outputs": This section applies to vertex shader outputs and fragment shader inputs.). How about the inputs and outputs of other shaders? For example, should this algorithm also be applied for geometry shader inputs and outputs?

Thanks!

Jiawei-Shao commented 6 years ago

@qjia7

pdaniell-nv commented 6 years ago

We discussed this in the OpenGL/ES WG meeting today. We're leaning toward removing chapter 12 entirely, but we want to make sure this doesn't inadvertently affect any implementations. We'll resolve this inside Khronos.

https://gitlab.khronos.org/opengl/GLSL/issues/30

pdaniell-nv commented 6 years ago

After discussion internally we decided that we can't remove this appendix since some implementations need it. The clarification we need to make is that the appendix only applies to the interface between the last vertex processing shader stage and the fragment shader. So when a geometry shader is present, it applies to the interface between the geometry shader and the fragment shader, and it does not apply to the interfaces between the shaders up to and including the geometry shader input.

pdaniell-nv commented 5 years ago

This was resolved in the latest ESSL spec here: https://www.khronos.org/registry/OpenGL/specs/es/3.2/GLSL_ES_Specification_3.20.html#counting-of-inputs-and-outputs