summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* r600: allow relative addressing of temps, inputs, outputsAndre Maasikas2010-09-091-13/+30
|
* r600: handle LIT writemaskAndre Maasikas2010-09-091-147/+141
|
* r600: fix rsq from negative inputAndre Maasikas2010-09-091-0/+3
| | | | arbfp specifies rsq of abs value
* glsl: add several EmitNo* options, and MaxUnrollIterationsLuca Barbieri2010-09-0811-19/+27
| | | | | | | | | 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 <[email protected]>
* glsl: make compiler options per-targetLuca Barbieri2010-09-088-25/+64
| | | | | | | This allows us to specify different options, especially useful for chips without unified shaders. Signed-off-by: Ian Romanick <[email protected]>
* mesa: add PIPE_SHADER_* like constants and conversions to/from enums (v2)Luca Barbieri2010-09-083-0/+72
| | | | | Changes in v2: - No longer adds tessellation enums
* glsl: Add info about talloc and optimization passes to the README.Eric Anholt2010-09-081-0/+26
|
* glsl: Update README talking about multi-instruction operations.Eric Anholt2010-09-081-4/+4
| | | | | | 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.
* glx: Destroy pixmap after destroying glx and dri drawablesKristian Høgsberg2010-09-081-2/+2
| | | | | Now that we suppress BadDrawable from DRI2DestroyDrawable, this doesn't matter, but we would get that error before when destroying pbuffers.
* glsl/builtins: Set the API in the fake context.Kenneth Graunke2010-09-082-0/+2
| | | | Otherwise it gets used uninitialized.
* glsl2: Clear out profile pointers in _mesa_glsl_release_functionsIan Romanick2010-09-082-0/+2
| | | | | | 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.
* mesa: Refactor parameter processing in set_combiner_(operand|source)Ian Romanick2010-09-081-68/+22
| | | | | The enum values were chosen to have sequential values for a reason. Use that to compact and simplify the code.
* mesa: Fix handling of texenv operands for EXT vs ARB versionIan Romanick2010-09-081-18/+19
| | | | | | | | | | 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.
* glx: Ignore DRI2 event for drawables we've destroyedKristian Høgsberg2010-09-081-1/+1
| | | | | | 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.
* glx: Fix use after free problemKristian Høgsberg2010-09-081-6/+7
|
* glsl: Fix for scalar float built-in definitions.Kenneth Graunke2010-09-083-4/+4
| | | | These need abs, and we need more tests.
* glsl: regenerate builtinsEric Anholt2010-09-081-1/+1
|
* glsl: Fix typo in builtin step() using a wrong channel.Eric Anholt2010-09-081-1/+1
|
* ir_validate: Ensure ir_binop_dot is only used on vector types.Kenneth Graunke2010-09-081-0/+1
|
* glsl: Refresh automatically generated file builtin_function.cpp.Kenneth Graunke2010-09-081-11/+9
|
* glsl/builtins: Don't use ir_binop_dot on floating point values.Kenneth Graunke2010-09-084-6/+6
| | | | ir_binop_dot is only defined for vector types. Use ir_binop_mul.
* glsl/builtins: Simplify degenerate scalar float cases.Kenneth Graunke2010-09-083-5/+3
| | | | | | | The code being generated was just stupid, considering that: - normalize(x) = 1.0 - length(x) = x - distance(x, y) = x - y
* glsl2: Make sure _mesa_glsl_parse_state constructor gets a contextIan Romanick2010-09-082-2/+4
| | | | | Fix an major regression in dc754586. Too bad that change was obviously never tested.
* glx: Drop broken drawable garbage collectionKristian Høgsberg2010-09-089-59/+48
| | | | | | 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.
* dri: Unset current context and dispatch table when unbindingKristian Høgsberg2010-09-084-0/+13
| | | | | | | | 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 <[email protected]>
* glsl: Support GLSL ES in the standalone compile.Chia-I Wu2010-09-081-1/+3
| | | | GLSL ES mode is enabled when --glsl-es is passed to glsl_compiler.
* glsl: Require a context in _mesa_glsl_parse_state.Chia-I Wu2010-09-082-62/+62
| | | | | Create a dummy context in the standalone compiler and pass it to _mesa_glsl_parse_state.
* st/dri: Call dri_init_extensions only for API_OPENGL.Chia-I Wu2010-09-081-1/+9
| | | | | | | | 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.
* st/dri: Use enum st_api_type internally.Chia-I Wu2010-09-085-27/+39
|
* st/dri: Add multi-api supportnobled2010-09-085-13/+46
| | | | | | | | | | 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)
* st/dri: Make clear which API's are supportednobled2010-09-081-1/+4
| | | | | If the caller requests a GLES context, don't silently create a desktop GL context in its place.
* r600g: add initial bank swizzle support.Dave Airlie2010-09-084-4/+295
| | | | | 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.
* glcpp: Fix build on non-GCC compilers.Kenneth Graunke2010-09-072-90/+92
|
* ast_to_hir: Mark arrays as lvalues in GLSL ES, but prohibit assignment.Kenneth Graunke2010-09-071-1/+7
| | | | | | 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.
* glsl: Allow overloading of built-ins without hiding in GLSL ES.Kenneth Graunke2010-09-071-1/+1
| | | | The rules are explicitly different from desktop GLSL.
* glsl: Move is_builtin flag back to ir_function_signature.Kenneth Graunke2010-09-079-15/+28
| | | | | | | | | | | 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.
* ast_to_hir: Reject embedded structure definitions in GLSL ES 1.00.Kenneth Graunke2010-09-071-0/+9
|
* ast_to_hir: Reject unsized array declarations in GLSL ES 1.00.Kenneth Graunke2010-09-071-9/+18
|
* ast_to_hir: Allow matrix-from-matrix constructors in GLSL ES.Kenneth Graunke2010-09-071-1/+1
| | | | Everything but 1.10 supports this, so just change the check to ==.
* i965: Enable EXT_framebuffer_blit internally.Kenneth Graunke2010-09-071-0/+1
| | | | | | Otherwise, ES2's BindFramebuffer entrypoint hits this assertion: main/fbobject.c:1323: _mesa_BindFramebufferEXT: Assertion `ctx->Extensions.EXT_framebuffer_blit' failed.
* mesa: Enable GL_MAX_VERTEX_ATTRIBS in ES2.Kenneth Graunke2010-09-071-1/+16
| | | | | Signed-off-by: Kristian Høgsberg <[email protected]> Signed-off-by: Kenneth Graunke <[email protected]>
* linker: Fix assertion and cross-version checks for version 100.Kenneth Graunke2010-09-071-2/+3
| | | | | | 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.
* glsl: Add built-in function profiles for GLSL ES 1.00.Kenneth Graunke2010-09-073-11/+2953
|
* glsl: Add built-in variables for GLSL ES 1.00.Kenneth Graunke2010-09-072-0/+82
|
* glsl: Split out types that are in 1.10 but not GLSL ES 1.00.Kenneth Graunke2010-09-073-15/+35
|
* glsl: Recognize GLSL ES 1.00 keywords.Kenneth Graunke2010-09-074-281/+287
|
* glsl: Define GL_ES preprocessor macro if API is OpenGL ES 2.0.Kenneth Graunke2010-09-079-228/+250
| | | | Also define it if #version 100 is encountered.
* glsl: Accept language version 100 and make it the default on ES2.Kenneth Graunke2010-09-074-242/+255
|
* glsl: Set default language version in mesa_glsl_parse_state constructor.Kenneth Graunke2010-09-074-260/+249
| | | | | | | | | | 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.
* ir_to_mesa: Add support for gl_NormalScale.Eric Anholt2010-09-072-0/+7
| | | | Bug #30040.