Age | Commit message (Collapse) | Author |
|
Was broken by commit 9aca9a4b72b2a7b378e50bd88f9c3324d07375ec.
(cherry picked from commit fe984aed5a9ee7c6e000d48a0a584b964fefa848)
Conflicts:
src/mesa/shader/slang/slang_builtin.c
|
|
(cherry picked from commit e556cc82f83716a734ed9d76356ba49bb670004f)
|
|
Build on the heirarchal approach implemented for arrays/structs.
|
|
The slang_ir_storage type now has a pointer to parent storage to represent
storage of an array element within an array, or a field within a struct.
This fixes some problems related to addressing of fields/elements in non-
trivial cases. More work to follow.
|
|
|
|
of -I flags.
|
|
|
|
GLSL matrices are stored in column-major order while GL_ARB_vertex/fragment_program
use row-major. So, need to use STATE_MATRIX_TRANSPOSE for built-in matrices.
Unfortunately, this means that the expression M * V isn't very efficient since we
need to extract the rows out of M. And that's the typical expression for vertex
transformation: gl_ModelViewProjectionMatrix * gl_Position.
Solve this inefficiency by looking for M*V expressions and replacing them
with V*Transpose(M).
Also, add support for GLSL 1.20's MatrixTranspose, Inverse and InverseTranspose
matrices.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
After several tries at making a table-based system for examining pre-defined
uniforms to find statevar indexes, give up and do it the simple way (lots of
strcmp() calls). Not terribly elegant, but perfectly functional.
|
|
|
|
|
|
|