summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* softpipe: check for null pointers during context create/destroyBrian Paul2011-01-201-5/+21
| | | | | | See http://bugs.freedesktop.org/show_bug.cgi?id=32309 Apparently, malloc() is failing during context creation. Not checking for nulls here led to crashes elsewhere.
* graw: fix logic error in pixel format selectionBrian Paul2011-01-2010-54/+96
| | | | | | | | | | | | | | | The loop to choose a pixel format for the window was incrementing 'i' after we succeeded in creating the window so if we chose format[0] for graw_create_window_and_screen() we were putting format[1] in the pipe_resource template for creating the render target. This only worked because of the order of the elements in the formats[] array. The graw_xlib.c code now properly compares the requested gallium pixel format against the visual's color layout. Update all the graw demos to fix the off-by-one-i error.
* Fix the build from 887d2b64Ian Romanick2011-01-202-2/+2
| | | | | Thanks to all the include frobbing, GLuint is not known in some places that included enums.h.
* mesa: clean-up _mesa_lookup_prim_by_nr()Brian Paul2011-01-205-57/+55
| | | | Remove the redundant public _mesa_prim_name[] array.
* mesa: move extra prim mode #definesBrian Paul2011-01-202-5/+5
|
* vbo: added commentBrian Paul2011-01-201-1/+1
|
* mesa: minor formatting fixesBrian Paul2011-01-201-4/+7
|
* st/mesa: clean up the sampler view format codeBrian Paul2011-01-201-7/+14
|
* mesa: document sRGBDecode fieldBrian Paul2011-01-201-1/+1
|
* st/mesa: formatting, whitespace fixesBrian Paul2011-01-202-17/+18
|
* r600c: bump sq gpr resources if a shader needs more than defaultAndre Maasikas2011-01-202-0/+21
| | | | | | | | | | | | | ideally this should be set once in the beginning of CS but there's no way to change values there while in the middle of rendering. For now reemitting SQ setup seems to work probably due to r700WaitForIdleClean after each render currently does not to try to decrease values once increased fixes hangs in glsl-vs-vec4-indexing-temp-src-in-nested-loop-combined glsl-vs-vec4-indexing-temp-dst-in-nested-loop-combined for my rv740 maybe more for other chips
* glapi: Fix OpenGL and OpenGL ES interop.Chia-I Wu2011-01-2014-29/+13306
| | | | | | | | | | | | | | | | | | | | | | | | When --enable-shared-glapi is specified, libGL will share libglapi with OpenGL ES instead of defining its own copy of glapi. This makes sure an app will get only one copy of glapi in its address space. The new option is disabled by default. When enabled, libGL and libglapi must be built from the same source tree and distributed together. This requirement comes from the fact that the dispatch offsets used by these libraries are re-assigned whenever GLAPI XMLs are changed. For GLX, indirect rendering for has_different_protocol() functions is tricky. A has_different_protocol() function is assigned only one dispatch offset, yet each entry point needs a different protocol opcode. It cannot be supported by the shared glapi. The fix to this is to make glXGetProcAddress handle such functions specially before calling _glapi_get_proc_address. Note that these files are automatically generated/re-generated src/glx/indirect.c src/glx/indirect.h src/mapi/glapi/glapi_mapi_tmp.h
* glapi: Fix OpenGL ES 1.1 and 2.0 interop.Chia-I Wu2011-01-206-100/+171
| | | | | | | | | | | Move _glapi_* symbols from libGLESv1_CM.so and libGLESv2.so to libglapi.so. This makes sure an app will get only one copy of glapi in its address space. Note that with this change, libGLES* and libglapi must be built from the same source tree and distributed together. This requirement comes from the fact that the dispatch offsets used by these libraries are re-assigned whenever GLAPI XMLs are changed.
* mapi: Add support for bridge mode.Chia-I Wu2011-01-208-33/+149
| | | | | | | | | | | In bridge mode, mapi no longer implements glapi.h. It becomes a user of glapi.h. Imagine an app that uses both libGL.so and libGLESv2.so. There will be two copies of glapi in the app's memory. It is possible that _glapi_get_dispatch does not return what _glapi_set_dispatch set, if they access different copies of the global variables. The solution to this situation to build either one of the libraries as a bridge to the other. Or build both libraries as bridges to another shared glapi library.
* mapi: u_current_table may be renamed.Chia-I Wu2011-01-204-5/+9
| | | | | | When MAPI_MODE_GLAPI is defined, u_current_table is renamed to _glapi_Dispatch or _glapi_tls_Dispatch. The ASM dispatchers should not use hardcoded name.
* mapi: Add a new glapi.h implementation.Chia-I Wu2011-01-203-3/+253
| | | | | | The new implementation is based on mapi. No new script is needed. As noted in sources.mk, the way to use it is to compile MAPI_GLAPI_SOURCES with MAPI_MODE_GLAPI defined.
* mapi: Fix glapi printers for gl_and_es_API.xml.Chia-I Wu2011-01-201-18/+503
| | | | | | | Fix GLAPIPrinter, ES1APIPrinter, and ES2APIPrinter to output files that are ready for compilation. Since gl_and_es_API.xml is based on gl_API.xml, the hidden and handcode attributes of entries have to be overridden for ES1APIPrinter and ES2APIPrinter.
* mapi: Allow prefix to be macro.Chia-I Wu2011-01-201-3/+7
| | | | | Treat prefix as macro when it is all uppercase. Generate PREFIX(name) instead of PREFIXname when it is a macro.
* mapi: Add the ability to parse GLAPI XML.Chia-I Wu2011-01-201-5/+76
| | | | | A prerequisite if we want to convert vgapi.csv to vgapi.xml, or to use mapi for glapi.
* glapi: Add gl_and_es_API.xml.Chia-I Wu2011-01-206-0/+1255
| | | | | | | gl_and_es_API.xml defines OpenGL ES 1.1 and 2.0 API as well as OpenGL API. It consists of gl_API.xml and the newly added es_EXT.xml, ARB_get_program_binary.xml, OES_single_precision.xml, and OES_fixed_point.xml.
* doxygen: Add glsl to the Makefile and .gitignore.Kenneth Graunke2011-01-192-0/+2
|
* Add machine generated files to .gitignoretwied2011-01-193-0/+7
|
* glsl: Don't bother unsetting a destructor that was never set.Kenneth Graunke2011-01-191-6/+3
| | | | This was totally copied and pasted from glsl_symbol_table.
* autoconf: Fail when --with-state-trackers is incomplete.Chia-I Wu2011-01-201-0/+9
| | | | | When --enable-openvg or --enable-gallium-egl is enabled, --with-state-trackers must have vega or egl.
* softpipe: Bind samplers to views instead of the underlying resource.Henri Verbeet2011-01-195-55/+39
| | | | Signed-off-by: Brian Paul <[email protected]>
* softpipe: Get rid of the redundant resource parameter to get_sampler_variant().Henri Verbeet2011-01-191-5/+1
| | | | Signed-off-by: Brian Paul <[email protected]>
* r200: fix up some problems with TFP on r200Dave Airlie2011-01-201-5/+15
|
* llvmpipe: implement TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFSBrian Paul2011-01-191-3/+14
| | | | Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33284
* i965/fs: Take the shared mathbox into account in instruction scheduling.Eric Anholt2011-01-191-0/+15
| | | | | | I don't have evidence for this amounting to any improvement, but it does codify a bit more what we understand so far about the pipeline.
* i965/fs: Add a helper function for detecting math opcodes.Eric Anholt2011-01-192-8/+13
|
* i965/fs: Assign URB/CURB register numbers after instruction scheduling.Eric Anholt2011-01-191-2/+3
| | | | | | | | | | | | This fixes a bunch of unnecessary barriers due to the scheduler not knowing what that arbitrary register description refers to when trying to reason about its dependencies. The result is rescheduling in the convolution kernel shader in Lightsmark, which results in avoiding register spilling and increasing the performance of the first scene from 6-7 fps midway through the panning to 11fps. The register spilling was a regression from Mesa 7.9 to Mesa 7.10.
* i965/fs: Add an instruction scheduler.Eric Anholt2011-01-194-0/+479
| | | | | | | Improves performance of my GLSL demo by 5.1% (+/- 1.4%, n=7). It also reschedules the giant multiply tree at the end of glsl-fs-convolution-1 so that we end up not spilling registers, producing the expected level of performance.
* i965/fs: Add a helper for detecting texturing opcodes.Eric Anholt2011-01-192-8/+12
|
* r600g: fix segfault if texture operand is a literalChristian König2011-01-191-1/+3
| | | | This fixes Bug 33262
* mesa: implement glGetShaderPrecisionFormat()Brian Paul2011-01-193-5/+68
| | | | | Drivers should override the default range/precision info as needed. No drivers do this yet.
* gallium/docs: document result type for some types of queriesBrian Paul2011-01-191-0/+2
|
* radeon: avoid segfault on 3D textures.Dave Airlie2011-01-191-0/+3
| | | | This is a candidate for 7.9 and 7.10
* radeon: oops didn't need this logbase2 fnDave Airlie2011-01-191-15/+0
|
* radeon: calculate complete texture state inside TFP functionDave Airlie2011-01-191-3/+25
| | | | | | (really not sure why I'm doing this). This is a candidate for 7.9 and 7.10 branches.
* dri/nouveau: allow multiple maps of surface buffersBen Skeggs2011-01-191-2/+4
| | | | | | | | | Can happen during swrast fallbacks if a buffer is somehow bound as a render target and a texture. Fixes gnome-shell on nv20, and gets it mostly working on nv10. Signed-off-by: Ben Skeggs <[email protected]>
* radeon/r200: fix fbo-clearmipmap + gen-teximageDave Airlie2011-01-193-6/+6
| | | | | | | | | | | sw clears were being used and not getting the correct offsets in the span code. also not emitting correct offsets for CB draws to texture levels. (I've no idea why I'm playing with r100). This is a candidate for 7.9 and 7.10
* i965: Fix a comment typo.Eric Anholt2011-01-181-1/+1
|
* i965: Fix a bug in i965 compute-to-MRF.Eric Anholt2011-01-181-0/+1
| | | | | | Fixes piglit glsl-fs-texture2d-branching. I couldn't come up with a testcase that didn't involve dead code, but it's still worthwhile to fix I think.
* r600g: fix reserve_cfile for R700+Christian König2011-01-191-19/+17
| | | | | | According to R700 ISA we have only two channels for cfile constants. This patch makes piglit tests "glsl1-constant array with constant indexing" happy on RV710.
* glsl: Fix segfault due to missing printf argumentChad Versace2011-01-181-1/+2
| | | | | | | | Fixes the following Piglit tests: glslparsertest/shaders/array2.frag glslparsertest/shaders/dataType6.frag NOTE: This is a candidate for the 7.9 and 7.10 branches.
* glsl: Fix semantic checks on precision qualifiersChad Versace2011-01-181-9/+8
| | | | | | The check for Precision qualifiers only apply to floating point and integer types. was incomplete. It rejected only type 'bool' and structures.
* llvmpipe: make sure binning is active when we begin/end a queryBrian Paul2011-01-181-0/+4
| | | | | | | This fixes a potential failure when a begin/end_query is the first thing to happen after flushing the scene. NOTE: This is a candidate for the 7.10 and 7.9 branches.
* softpipe: rename some functions for consistencyBrian Paul2011-01-181-7/+7
|
* r600g: Kill trailing whitespace.Henri Verbeet2011-01-188-66/+66
|
* r600g: Remove the unused eg_states_inc.h and r600_states_inc.h.Henri Verbeet2011-01-182-1001/+0
|