summaryrefslogtreecommitdiff
path: root/src/mesa
AgeCommit message (Collapse)Author
2011-01-23i965: remove _NEW_ACCUMBrian Paul
2011-01-23mesa: add ARB_framebuffer_sRGB as alias of the EXT variantMarek Olšák
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-23mesa: return GL_LINEAR for ..COLOR_ENCODING if framebuffer_sRGB is unsupportedMarek Olšák
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-23mesa: get rid of _NEW_ACCUM, clean-up _NEW_* #definesBrian Paul
The _NEW_ACCUM flag was only set when changing the accumulation buffer clear color and never used anywhere. Reclaim that dirty bit. Clean up the definitions of the other dirty bit flags.
2011-01-23mesa: smarter glTexParameter state invalidationBrian Paul
Only a few texture object parameters can effect texture completeness: min level, max level, minification filter. Don't mark the texture incomplete for other texture object state changes.
2011-01-23r300/compiler: remove any code related to relative addressing of temporariesMarek Olšák
The hw can't do it and the code was useless anyway (it's lowered in the GLSL compiler).
2011-01-22st/mesa: ensure that all pixel paths operation on linear RGB data, not sRGBBrian Paul
Before, we were converting between linear/sRGB in glReadPixels, glDrawPixels, glAccum, etc if the renderbuffer was an sRGB texture. Those all need to operate on pixel values as-is without conversion. Also, when setting up render-to-texture, if the texture is sRGB the pipe_surface view must be linear RGB. This will change when we support GL_ARB_framebuffer_sRGB. This fixes http://bugs.freedesktop.org/show_bug.cgi?id=33353
2011-01-22st/mesa: update comment, use st_fb_orientation()Brian Paul
2011-01-22st/mesa: comments in update_viewport()Brian Paul
2011-01-22scons: Add support for GLES.Chia-I Wu
GLES can be enabled by running scons with $ scons gles=yes When gles=yes is given, the build is changed in three ways. First, libmesa.a will be built with FEATURE_ES1 and FEATURE_ES2. This makes DRI drivers and libEGL support and advertise GLES support. Second, GLES libraries will be created. They are libGLESv1_CM, libGLESv2, and libglapi. Last, libGL or opengl32 will link to libglapi. This change is required as _glapi_* will be declared as __declspec(dllimport) in libmesa.a on windows. libmesa.a expects those symbols to be defined in another DLL. Due to this change to GL, GLES support is marked experimental. Note that GLES requires libxml2-python to generate some of its sources.
2011-01-21glsl, i965: Remove unnecessary talloc includes.Kenneth Graunke
These are already picked up by ir.h or glsl_types.h.
2011-01-21ra: Use the same context when realloc'ing arrays.Kenneth Graunke
The original allocations use regs->regs as the context, so talloc will happily ignore the context given here. Change it to match to clarify that it isn't changing.
2011-01-21mesa: EXT_framebuffer_sRGB interface additions.Dave Airlie
This adds the get/enable enums and internal gl_config storage for this extension. In theory this is all that is needed to enable this extension from what I can see, since its not mandatory to implement the features if you don't advertise the visuals or the fb configs. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-01-21r600c: get OQ results only for 4 DBs on r600 classAndre Maasikas
- since evergreen addition which increased this to 8 depth backends other bytes may contain garbage values
2011-01-20intel: Fix typeos from 3d028024 and 790ff232Ian Romanick
...and remove egg from face.
2011-01-20i915: Set correct values for range/precision of fragment shader typesIan Romanick
2011-01-20i965: Set correct values for range/precision of fragment shader typesIan Romanick
2011-01-20mesa: Set correct values for range/precision of shader integer typesIan Romanick
2011-01-20mesa: Connect glGetShaderPrecisionFormat into the dispatch tableIan Romanick
2011-01-20Fix the build from 887d2b64Ian Romanick
Thanks to all the include frobbing, GLuint is not known in some places that included enums.h.
2011-01-20mesa: clean-up _mesa_lookup_prim_by_nr()Brian Paul
Remove the redundant public _mesa_prim_name[] array.
2011-01-20mesa: move extra prim mode #definesBrian Paul
2011-01-20vbo: added commentBrian Paul
2011-01-20mesa: minor formatting fixesBrian Paul
2011-01-20st/mesa: clean up the sampler view format codeBrian Paul
2011-01-20mesa: document sRGBDecode fieldBrian Paul
2011-01-20st/mesa: formatting, whitespace fixesBrian Paul
2011-01-20r600c: bump sq gpr resources if a shader needs more than defaultAndre Maasikas
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
2011-01-20glapi: Fix OpenGL and OpenGL ES interop.Chia-I Wu
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
2011-01-20r200: fix up some problems with TFP on r200Dave Airlie
2011-01-19i965/fs: Take the shared mathbox into account in instruction scheduling.Eric Anholt
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.
2011-01-19i965/fs: Add a helper function for detecting math opcodes.Eric Anholt
2011-01-19i965/fs: Assign URB/CURB register numbers after instruction scheduling.Eric Anholt
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.
2011-01-19i965/fs: Add an instruction scheduler.Eric Anholt
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.
2011-01-19i965/fs: Add a helper for detecting texturing opcodes.Eric Anholt
2011-01-19mesa: implement glGetShaderPrecisionFormat()Brian Paul
Drivers should override the default range/precision info as needed. No drivers do this yet.
2011-01-19radeon: avoid segfault on 3D textures.Dave Airlie
This is a candidate for 7.9 and 7.10
2011-01-19radeon: oops didn't need this logbase2 fnDave Airlie
2011-01-19radeon: calculate complete texture state inside TFP functionDave Airlie
(really not sure why I'm doing this). This is a candidate for 7.9 and 7.10 branches.
2011-01-19dri/nouveau: allow multiple maps of surface buffersBen Skeggs
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 <bskeggs@redhat.com>
2011-01-19radeon/r200: fix fbo-clearmipmap + gen-teximageDave Airlie
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
2011-01-18i965: Fix a comment typo.Eric Anholt
2011-01-18i965: Fix a bug in i965 compute-to-MRF.Eric Anholt
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.
2011-01-18vbo: initialize num_instances in a few placesBrian Paul
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=33247 There might still be some issues with drawing multiple instances with VBO splitting to investigate someday.
2011-01-18ra: Take advantage of the adjacency list in finding a node to spill.Eric Anholt
This revealed a bug in ra_get_spill_benefit where we only considered the benefit of the first adjacency we were to remove, explaining some of the ugly spilling I've seen in shaders. Because of the reduced spilling, it reduces the runtime of glsl-fs-convolution-1 36.9% +/- 0.9% (n=5).
2011-01-18ra: Remove unused "name" field in regs.Eric Anholt
2011-01-18ra: Take advantage of the adjacency list in ra_select() too.Eric Anholt
Reduces runtime of glsl-fs-convolution-1 another 13.9% +/- 0.6% (n=5).
2011-01-18ra: Add an adjacency list to trade space for time in ra_simplify().Eric Anholt
This was recommended in the original paper, but I figued "make it run" before "make it fast". Now we make it fast. Reduces the runtime of glsl-fs-convolution-1 by 12.7% +/- 0.6% (n=5).
2011-01-18ra: Trade off some space to get time efficiency in ra_set_finalize().Eric Anholt
Our use of the register allocator in i965 is somewhat unusual. Whereas most architectures would have a smaller set of registers with fewer register classes and reuse that across compilation, we have 1, 2, and 4-register classes (usually) and a variable number up to 128 registers per compile depending on how many setup parameters and push constants are present. As a result, when compiling large numbers of programs (as with glean texCombine going through ff_fragment_shader), we spent much of our CPU time in computing the q[] array. By keeping a separate list of what the conflicts are for a particular reg, we reduce glean texCombine time 17.0% +/- 2.3% (n=5). We don't expect this optimization to be useful for 915, which will have a constant register set, but it would be useful if we were switch to this register allocator for Mesa IR.
2011-01-18r600c: preserve correct buffer when using fboAndre Maasikas
Hopefully better than previous - this passes more mipgen tests