Age | Commit message (Collapse) | Author |
|
This allows array derefs of matrices now, which makes idr's GLSL demo
happy.
|
|
|
|
This isn't really tested, but didn't break normal vector add/sub.
|
|
|
|
|
|
|
|
|
|
This change makes gallium behave like other GL implementations and fixes
a conformance failure.
|
|
Fixes glsl-vs-texturematrix-1, and glsl-vs-texturematrix-2 on swrast.
|
|
|
|
guess it's a hw errata?
|
|
This allows function inlining making the following tests work even
without function calls implemented:
glsl-fs-functions-2
glsl-fs-functions-3
glsl-vs-functions
glsl-vs-functions-2
glsl-vs-functions-3
glsl-vs-vec4-indexing-5
(Note that those tests were designed to trigger actual function calls,
and this defeats them. However, those testcases ended up catching the
bug in the previous commit.)
|
|
The _slang_*_output_name() functions had one too many loop iterations
because of the sentinal end-of-list values in the vertOutput array.
Just use Elements() everywhere.
|
|
The Mesa IR needs this to support vector indexing correctly, and
hardware backends such as 915 would want this behavior as well.
Fixes glsl-vs-vec4-indexing-2.
|
|
Nothing generates conditional moves yet.
|
|
|
|
|
|
The previous table didn't distinguish gl_Color for the VS and FS, so
we would use the FS's attribute index for the VS and read undefined.
This partially fixes glsl-routing to match its behavior on master.
|
|
Signed-off-by: Marek Olšák <maraeo@gmail.com>
|
|
Assert ctx->Driver.NewTransformFeedback if the feature is enabled; Use
the default callbacks otherwise. The rest of core mesa expects the
state to be initialized.
|
|
As defined by GL_EXT_texture_integer.
|
|
Check FEATURE_GL in _mesa_init_shader_dispatch and
_mesa_init_shader_uniform_dispatch. OpenGL ES can not and does not use
_mesa_init_<...>_dispatch. This is supposed to be temporary. Ideally,
a more flexible way for initializing dispatch tables should be
developed.
|
|
|
|
|
|
|
|
|
|
|
|
block.
|
|
|
|
This also allows us to split the loop emulation into two phases. A
tranformation phase which either unrolls loops or prepares them to be
emulated, and the emulation phase which unrolls remaining loops until the
instruction limit is reached. The second phase is completed after the
deadcode analysis in order to get a more accurate count of the number of
instructions in the body of loops.
|
|
|
|
Fixes fd.o bug 10966 when OSMesaMakeCurrent() was called twice.
NOTE: This is a candidate for the 7.8 branch.
|
|
|
|
OPCODE_EXP is not to ir_unop_exp what OPCODE_EX2 is to ir_unop_exp2.
It's the weird VP approximation helper opcode. Just implement it with
OPCODE_POW instead.
Fixes glsl-fs-exp.
|
|
The original glsl compiler would generate a.x * b.x + a.y * b.y, which
we would do mul+mul+add for instead of this mul+mac.
Fixes glsl-fs-dot-vec2.
|
|
This is not tested by piglit currently.
|
|
piglit lacks tests for this currently.
|
|
Fixes:
glsl-fs-texture2dproj-bias
glsl-fs-texture2dproj-bias-2
|
|
Fixes:
glsl-fs-texture2dproj
glsl-fs-texture2dproj-2
|
|
These 3 fields are per shader-program. Copy them into the geometry
program at link time for convenient access later.
Also, add some missing glGetProgramiv() queries.
|
|
Fixes glsl-fs-texture2d-masked.
|
|
With how we generate assignments, the trivial copy propagation in it
is really important, and some drivers will really want the register
allocation, too.
|
|
This results in constant folding of a constant divisor.
|
|
Before, if there were no color buffers enabled (with glDrawBuffers(GL_NONE))
when the texenv program was generated, we'd emit writes to OUTPUT[1] but
the OutputsWritten mask was 0. This inconsistency caused an assertion to
fail later in the Mesa->TGSI translation.
Fixes fd.o bug 28169
NOTE: this is a candidate for the 7.8 branch (and depends on commit
b6b9b17d27c570cc99ae339e595cf2f63ca5e8d7).
|
|
|
|
|
|
All the state that effects the program should be in the key.
This didn't help with bug 28169 but is a good fix anyway.
NOTE: this is a low-priority candidate for the 7.8 branch. In practice,
this issue might never be hit.
|
|
|
|
The only optional extension currently supported by the compiler is
GL_EXT_texture_array.
|
|
The only optional extension currently supported by the compiler is
GL_EXT_texture_array.
|