| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
GLSL ES mode is enabled when --glsl-es is passed to glsl_compiler.
|
|
|
|
|
| |
Create a dummy context in the standalone compiler and pass it to
_mesa_glsl_parse_state.
|
|
|
|
|
|
|
|
| |
libmesagallium.a that this state tracker will be linked to expects
OpenGL's _glapi_table. That is, it expects libGL.so instead of
libGLESv1_CM.so or libGLESv2.so. As there is no clean way to know the
shared library the app links to, use the api as a simple check. It
might be as well to simply remove this function call though.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Make st/dri screens capable of creating OpenGL ES and
OpenGL ES2 contexts.
TODO: Figure out the "get_current" problem with multiple
st_api's for real.
(s/API_OPENGLES1/API_OPENGLES/ by Chia-I Wu)
|
|
|
|
|
| |
If the caller requests a GLES context, don't silently create
a desktop GL context in its place.
|
|
|
|
|
| |
this is ported from r600c mostly, bank swizzling is real messy and I don't think
I got enough sleep last night to fully understand it.
|
| |
|
|
|
|
|
|
| |
This allows them to be passed as out/inout parameters, but still
prevents them from being used as the target of an assignment. This is
per section 5.8 of the GLSL ES 1.00 specification.
|
|
|
|
| |
The rules are explicitly different from desktop GLSL.
|
|
|
|
|
|
|
|
|
|
|
| |
This effectively reverts b6f15869b324ae64a00d0fe46fa3c8c62c1edb6c.
In desktop GLSL, defining a function with the same name as a built-in
hides that built-in function completely, so there would never be
built-in and user function signatures in the same ir_function.
However, in GLSL ES, overloading built-ins is allowed, and does not
hide the built-in signatures - so we're back to needing this.
|
| |
|
| |
|
|
|
|
| |
Everything but 1.10 supports this, so just change the check to ==.
|
|
|
|
|
|
| |
Otherwise, ES2's BindFramebuffer entrypoint hits this assertion:
main/fbobject.c:1323: _mesa_BindFramebufferEXT: Assertion
`ctx->Extensions.EXT_framebuffer_blit' failed.
|
|
|
|
|
| |
Signed-off-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Kenneth Graunke <[email protected]>
|
|
|
|
|
|
| |
Fixes an assert (min_version >= 110) which was no longer correct, and
also prohibits linking ES2 shaders with non-ES2 shaders. I'm not
positive this is correct, but the specification doesn't seem to say.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Also define it if #version 100 is encountered.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This should make it easier to change the default version based on the
API (say, version 1.00 for OpenGL ES).
Also, synchronize the symbol table's version with the parse state's
version just before doing AST-to-HIR. This way, it will be set when
it matters, but the main initialization code doesn't have to care about
the symbol table.
|
|
|
|
| |
Bug #30040.
|
|
|
|
|
| |
This should only occur if glCompileShader is called without a prior call
to glShaderSource. An empty source program should be the empty string.
|
|
|
|
| |
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
| |
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
| |
This makes the 'fp1-RSQ test 2' piglit test work.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
| |
This splits the r600 opcodes out of the sq file and adds a wrapper
so we can convert to evergreen opcodes later without touching these functions
too much.
|
|
|
|
|
|
| |
DX9 constants were in the constant file, and evergreen no longer support
cfile. r600/700 can also use constants in memory buffers, so add the code
(disabled for now) to enable that as precursor for evergreen.
|
|
|
|
|
| |
this is step one towards evergreen support, it lets us plug in whole
new hw level states.
|
|
|
|
| |
Fixes bugzilla #30039.
|
|
|
|
|
| |
Fixes assertion failures in fbo-alpha with a debug build of Mesa.
Bug #29781.
|
|
|
|
|
| |
I swear there was some git option for "don't push things when you've
got uncommitted changes", but I can't find it now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Like the constant handling and the handling of other uniforms, we add
the whole thing to the Parameters, avoiding messy, incomplete logic
for adding just the elements of a builting uniform that get used.
This means that a driver that relies only on ParameterValues[] for its
parameters will have an increased parameter load, but drivers
generally don't do that (since they have other params they need to
handle, too).
Fixes glsl-fs-statevar-call (testcase for Ember). Bug #29687.
v2: Continue referencing the STATE_VAR[] file directly when the
uniform will land in STATE_VAR[] formatted exactly as we'd put into a
temporary. When there's array dereferencing, we don't copy-propagate
in Mesa IR (not knowing where the array is in register space), so
smarts here are required or we'll massively increase the temp count.
|
|
|
|
|
|
|
|
|
|
|
|
| |
loop_analysis::visit(ir_dereference_variable *)
Returning early with visit_continue_with_parent prevented the
then-statements and else-statements of if-statements such as the
following from being processed:
if (some_var) { ... } else { ... }
Fixes piglit test case glsl-fs-loop-nested-if and bugzilla #30030.
|
|
|
|
|
|
| |
Fixes piglit test case loop-06.vert.
Unfortunately, causes 1 shift/reduce conflict.
|
|
|
|
|
|
|
| |
We carefully multiplied our two ints (since we want to be precise
after all) then stored them in a float, which is not specced to really
work, in addition to wasting precision. Fixes
vp-arl-constant-array-huge-* things since the assertions were added.
|
|
|
|
|
|
|
| |
There is a restriction on the destination of an operation involving a
vector immediate being 128-bit aligned and the destination horizontal
stride being equivalent to 2 bytes. Fixes bad pixel_x results from
gl_FragCoord, where each pair had the same value.
|
|
|
|
|
|
|
| |
Otherwise spring 0.82+.4.0 crashes when starting a game
because prog->_LinkedShaders[0] is NULL.
This also fixes piglit test cases glsl-link-empty-prog-0[12].
|
|
|
|
|
|
| |
This reverts 6a6e6d7b0a84e20f9754af02a575ae34081d310c and initializes
dummyContext with an all NULL vtable. The context vtable pointer is
supposed to always be non-NULL, but the vtable entries can be NULL.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
I was hitting this with gliv.
The GLX spec explicitly mentions that glXWaitX, glXWaitGL and glXUseXFont calls
are ignored when there's no current context. Not sure what if anything the
GLX_EXT_texture_from_pixmap spec says about this, but I think ignoring the
calls makes more sense than crashing there as well. :)
|
|
|
|
|
| |
The default type conversion for MOV should be fine, and RNDZ actually
requires two instructions.
|
|
|
|
|
| |
Now that we're playing with other types in brw_fs.cpp, it's easy to
trip over issues like these.
|
|
|
|
| |
This catches a failure in the FS backend.
|
| |
|
|
|
|
|
|
| |
Dumping back to potentially 16-wide dispatch doesn't really work out
at the moment, and hopefully I'll just be able to resolve all the
failures so we never have to do this at all.
|