On 06/28/2013 08:53 AM, Jose Fonseca wrote:
----- Original Message -----
See my explanation in mtypes.h.
---
src/gallium/include/pipe/p_defines.h | 7 ++++---
src/glsl/linker.cpp | 16 ++++++++--------
src/mesa/drivers/dri/i965/brw_shader.cpp | 8 ++------
src/mesa/main/mtypes.h | 8 ++++++--
src/mesa/main/shaderobj.h | 4 ++--
src/mesa/main/uniform_query.cpp | 2 +-
src/mesa/program/ir_to_mesa.cpp | 10 +++-------
src/mesa/program/program.h | 2 +-
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 10 +++-------
9 files changed, 30 insertions(+), 37 deletions(-)
diff --git a/src/gallium/include/pipe/p_defines.h
b/src/gallium/include/pipe/p_defines.h
index 8af1a84..216cd2f 100644
--- a/src/gallium/include/pipe/p_defines.h
+++ b/src/gallium/include/pipe/p_defines.h
@@ -352,11 +352,12 @@ enum pipe_flush_flags {
/**
- * Shaders
+ * Shaders.
+ * These must have the same values as Mesa's MESA_SHADER_*.
Sorry for not noticing this earlier -- I haven't been able to keep up with
email traffic lately.
I'm afraid I can't agree with this. Gallium needs to be API agnostic -- it
doesn't make sense to have gallium go at the whims of particular state tracker
implementation details.
There is a lot of code out there that relies on this ordering. And
unfortunately reordering will cause it to fail, often in a silent manner (with
no compiler errors or warnings).
----- Original Message -----
The renumbering only makes sense for the GLSL linker and the only
reason for doing that in gallium too is that PIPE_SHADER_x must be
equal to MESA_SHADER_x.
This is an implementation detail.
PIPE_SHADER_x may have been paired with MESA_SHADER_x till now as convenience,
but now they are what they are.
I took a quick look at the state tracker. AFAICT, there's only one
place where we obviously depend on MESA_SHADER_x == PIPE_SHADER_x, at
st_extensions.c:152
The st_atom_shader/constbuf, etc. code looks OK.
I think we could remove the MESA_SHADER_x == PIPE_SHADER_x assumption
without too much trouble.
-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev