Kristian Høgsberg
80e48ddcf6
glx: Fix another use-after-free problem
2010-09-09 08:06:51 -04:00
Andre Maasikas
777f352e60
r600: add TXL instruction and note about TXB
2010-09-09 11:08:11 +03:00
Andre Maasikas
1f12945d2f
r600: remove depth exports move, just set to output x <- z in the export intruction
2010-09-09 11:08:11 +03:00
Andre Maasikas
7753416c5b
r600: protect cleanup instructions from double free
...
We might get the cleanup when we have not translated the shader yet
e.g 2 programstringnotifys in a row
2010-09-09 11:08:11 +03:00
Andre Maasikas
5697bf1660
r600: remove mask from output intructions
...
in case of relative addressing we never get to know which comps
were really written.
2010-09-09 11:08:11 +03:00
Andre Maasikas
ae21956be2
r600: allow relative addressing of temps, inputs, outputs
2010-09-09 11:08:10 +03:00
Andre Maasikas
515d6eed0b
r600: handle LIT writemask
2010-09-09 11:08:10 +03:00
Andre Maasikas
9d0d78ad3f
r600: fix rsq from negative input
...
arbfp specifies rsq of abs value
2010-09-09 11:08:10 +03:00
Chia-I Wu
68071822f7
docs: Update egl.html.
...
Mention that EGL_DRIVERS_PATH should be specified for uninstalled build.
Update TODOs.
2010-09-09 13:53:13 +08:00
Luca Barbieri
e591c4625c
glsl: add several EmitNo* options, and MaxUnrollIterations
...
This increases the chance that GLSL programs will actually work.
Note that continues and returns are not yet lowered, so linking
will just fail if not supported.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-09-08 20:36:37 -07:00
Luca Barbieri
6d3a2c97f4
glsl: make compiler options per-target
...
This allows us to specify different options, especially useful for chips
without unified shaders.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-09-08 20:36:37 -07:00
Luca Barbieri
ede4205b24
mesa: add PIPE_SHADER_* like constants and conversions to/from enums (v2)
...
Changes in v2:
- No longer adds tessellation enums
2010-09-08 20:36:37 -07:00
Eric Anholt
5ecd9c70ce
glsl: Add info about talloc and optimization passes to the README.
2010-09-08 18:09:05 -07:00
Eric Anholt
e04f90712d
glsl: Update README talking about multi-instruction operations.
...
The previous thing taking multiple instructions ended up being handled
at the IR level, as we suggested would be the common result. Pick a
new one.
2010-09-08 18:05:22 -07:00
Kristian Høgsberg
d8ab9aac54
glx: Destroy pixmap after destroying glx and dri drawables
...
Now that we suppress BadDrawable from DRI2DestroyDrawable, this doesn't
matter, but we would get that error before when destroying pbuffers.
2010-09-08 20:55:24 -04:00
Kristian Høgsberg
7b34fcc487
configure: Enable -fvisibility=hidden for g++ as well
2010-09-08 20:45:07 -04:00
Kenneth Graunke
7fc882643c
glsl/builtins: Set the API in the fake context.
...
Otherwise it gets used uninitialized.
2010-09-08 17:38:42 -07:00
Ian Romanick
f69a6647fb
glsl2: Clear out profile pointers in _mesa_glsl_release_functions
...
Otherwise builtin_profiles contains dangling pointers the next time
_mesa_read_profile is called. I suspect this may fix bugzilla #29847 ,
but I was never able to reproduce it.
2010-09-08 17:16:49 -07:00
Ian Romanick
de1ffd2f62
mesa: Refactor parameter processing in set_combiner_(operand|source)
...
The enum values were chosen to have sequential values for a reason.
Use that to compact and simplify the code.
2010-09-08 16:26:15 -07:00
Ian Romanick
1a2d498b41
mesa: Fix handling of texenv operands for EXT vs ARB version
...
GL_EXT_texture_env_combine has slightly more restrictive limits on the
valid sources for some operands. This wasn't caught before because
almost every driver in Mesa that supports the EXT version also
supports the ARB version.
Inspired by a patch posted the the mesa-dev mailing list by Andrew
Randrianasulu.
2010-09-08 16:26:07 -07:00
Kristian Høgsberg
f24ec6367b
glx: Ignore DRI2 event for drawables we've destroyed
...
Since we now actually destroy GLX drawables, we get into situations where
we get events for drawables that no longer exist. Just ignore the
event in that case.
2010-09-08 18:54:48 -04:00
Kristian Høgsberg
659dab6be6
glx: Fix use after free problem
2010-09-08 18:54:48 -04:00
Kenneth Graunke
fc1daab2a2
glsl: Fix for scalar float built-in definitions.
...
These need abs, and we need more tests.
2010-09-08 15:38:09 -07:00
Eric Anholt
c3db43df04
glsl: regenerate builtins
2010-09-08 15:01:02 -07:00
Eric Anholt
aa973d3533
glsl: Fix typo in builtin step() using a wrong channel.
2010-09-08 14:54:08 -07:00
Kenneth Graunke
368dc76f04
ir_validate: Ensure ir_binop_dot is only used on vector types.
2010-09-08 12:09:42 -07:00
Kenneth Graunke
4b2ffa0a42
glsl: Refresh automatically generated file builtin_function.cpp.
2010-09-08 12:09:42 -07:00
Kenneth Graunke
1f7e6e1e72
glsl/builtins: Don't use ir_binop_dot on floating point values.
...
ir_binop_dot is only defined for vector types. Use ir_binop_mul.
2010-09-08 12:09:41 -07:00
Kenneth Graunke
84160a0454
glsl/builtins: Simplify degenerate scalar float cases.
...
The code being generated was just stupid, considering that:
- normalize(x) = 1.0
- length(x) = x
- distance(x, y) = x - y
2010-09-08 12:09:41 -07:00
Ian Romanick
961f42c9bd
glsl2: Make sure _mesa_glsl_parse_state constructor gets a context
...
Fix an major regression in dc754586 . Too bad that change was
obviously never tested.
2010-09-08 11:34:22 -07:00
Kristian Høgsberg
16887d042a
glx: Drop broken drawable garbage collection
...
Doesn't work for pixmaps, was looking up the GLX XID and was never thread
safe. Instead, just destroy the client side structures when the
drawable is no long current for a context.
2010-09-08 09:20:42 -04:00
Kristian Høgsberg
b4bb668020
dri: Unset current context and dispatch table when unbinding
...
Otherwise, when we switch to an indirect glx context and then back, it looks
like we're still current.
https://bugs.freedesktop.org/show_bug.cgi?id=29977#c7
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2010-09-08 09:01:43 -04:00
Chia-I Wu
1a5b32ca01
glsl: Support GLSL ES in the standalone compile.
...
GLSL ES mode is enabled when --glsl-es is passed to glsl_compiler.
2010-09-08 04:08:29 -07:00
Chia-I Wu
dc754586ca
glsl: Require a context in _mesa_glsl_parse_state.
...
Create a dummy context in the standalone compiler and pass it to
_mesa_glsl_parse_state.
2010-09-08 04:08:24 -07:00
Chia-I Wu
7e03e2b2c7
st/dri: Call dri_init_extensions only for API_OPENGL.
...
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.
2010-09-08 18:21:19 +08:00
Chia-I Wu
444d8408e7
st/dri: Use enum st_api_type internally.
2010-09-08 18:20:44 +08:00
nobled
8e3b658b7f
st/dri: Add multi-api support
...
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)
2010-09-08 17:25:01 +08:00
nobled
ecd7ec9d62
st/dri: Make clear which API's are supported
...
If the caller requests a GLES context, don't silently create
a desktop GL context in its place.
2010-09-08 12:55:26 +08:00
Dave Airlie
bf346f065c
r600g: add initial bank swizzle support.
...
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.
2010-09-08 14:12:21 +10:00
Kenneth Graunke
48e789d71e
glcpp: Fix build on non-GCC compilers.
2010-09-07 18:01:33 -07:00
Kenneth Graunke
10eaa8bcbc
ast_to_hir: Mark arrays as lvalues in GLSL ES, but prohibit assignment.
...
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.
2010-09-07 17:30:39 -07:00
Kenneth Graunke
a98d5a5ac8
glsl: Allow overloading of built-ins without hiding in GLSL ES.
...
The rules are explicitly different from desktop GLSL.
2010-09-07 17:30:39 -07:00
Kenneth Graunke
f412fac5b4
glsl: Move is_builtin flag back to ir_function_signature.
...
This effectively reverts b6f15869b3 .
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.
2010-09-07 17:30:38 -07:00
Kenneth Graunke
c98deb18d5
ast_to_hir: Reject embedded structure definitions in GLSL ES 1.00.
2010-09-07 17:30:38 -07:00
Kenneth Graunke
d8e34e29eb
ast_to_hir: Reject unsized array declarations in GLSL ES 1.00.
2010-09-07 17:30:38 -07:00
Kenneth Graunke
b4ec3f268c
ast_to_hir: Allow matrix-from-matrix constructors in GLSL ES.
...
Everything but 1.10 supports this, so just change the check to ==.
2010-09-07 17:30:38 -07:00
Kenneth Graunke
883ac22810
i965: Enable EXT_framebuffer_blit internally.
...
Otherwise, ES2's BindFramebuffer entrypoint hits this assertion:
main/fbobject.c:1323: _mesa_BindFramebufferEXT: Assertion
`ctx->Extensions.EXT_framebuffer_blit' failed.
2010-09-07 17:30:38 -07:00
Kenneth Graunke
67da41c10c
mesa: Enable GL_MAX_VERTEX_ATTRIBS in ES2.
...
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2010-09-07 17:30:38 -07:00
Kenneth Graunke
5a81d057db
linker: Fix assertion and cross-version checks for version 100.
...
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.
2010-09-07 17:30:38 -07:00
Kenneth Graunke
116dc670e9
glsl: Add built-in function profiles for GLSL ES 1.00.
2010-09-07 17:30:38 -07:00