Summary: | [nv50]glClipPlane not clipping correctly for glsl | ||
---|---|---|---|
Product: | Mesa | Reporter: | bill |
Component: | Drivers/DRI/nouveau | Assignee: | Nouveau Project <nouveau> |
Status: | RESOLVED NOTOURBUG | QA Contact: | |
Severity: | normal | ||
Priority: | medium | ||
Version: | git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | blender file demonstrating FF vs GLSL behavior of glClipPlane |
Description
bill
2013-03-05 12:54:53 UTC
Ok, thank's to calim's help, it turns out that blender wasn't writing to gl_ClipVertex. However, this is because __GLSL_CG_DATA_TYPES is not defined. Should nouveau define it? Or is there another define that can be used in blender's shader? __GLSL_CG_DATA_TYPES is an NV blob-specific feature related to Cg. How does that have anything to do with gl_ClipVertex ? And no, there's no way we're going to define it with mesa. blender's shader says: "gl_ClipVertex works only on NVIDIA graphic cards so we have to check with __GLSL_CG_DATA_TYPES" The GL 2.0 spec says: "If gl ClipVertex is not written by the vertex shader, its value is undefined, which implies that the results of clipping to any client-defined clip planes are also undefined." I don't know with which driver they tested this (maybe on a gallium driver before gl_ClipVertex was handled, which came rather late ?), but they can't expect undefined behaviour to work everywhere. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.