summaryrefslogtreecommitdiff
path: root/src/mesa
AgeCommit message (Collapse)Author
2009-09-04i965: Assert that the offset in the VBO is below the VBO size.Eric Anholt
This avoids sending a bad buffer address to the GPU due to programmer error, and is permitted by the ARB_vbo spec. Note that we still have the opportunity to dereference past the end of the GPU, because we aren't clipping to a correct _MaxElement, but that appears to be harder than it should be. This gets us the 90% solution. Bug #19911. (cherry picked from commit d7430d942f6c7950a92367aeb13b80cf76ccad78)
2009-09-04i965: Even if no VS inputs are set, still load some amount of URB as required.Eric Anholt
See comment on Vertex URB Entry Read Length for VS_STATE. This, combined with the previous three commits, fixes #22945. (cherry picked from commit e340d4f9866db4bae391288e83a630a310b0dd2b)
2009-09-04i965: Make sure the VS URB size is big enough to fit a VF VUE.Eric Anholt
This fix is just from code and docs inspection, but it may fix hangs on some applications. (cherry picked from commit e93848e595176ae0bad3bfe64e0ca63fd089bb72)
2009-09-04i965: Don't emit bad packets when no VBs are referenced.Eric Anholt
It appears that sometimes Mesa (and I suppose a VS could as well) emits a program which references no vertex data, and thus we end up with nr_enabled == 0 even though some VBs are enabled. We'd end up emitting VB/VE packet headers of 0xffffffff in that case, leading to GPU hangs. Bug #22945 (wine with an uncompiled VS) (cherry picked from commit d1fbfd0f962347e4153db3852292d44de5aea863)
2009-09-04i965: Calculate enabled[] and nr_enabled once and re-use the values.Eric Anholt
The code duplication bothered me. (cherry picked from commit 9b9cb30d128fc5f1ba77287696ecd508e640efde)
2009-09-04i965: Set the max index buffer address correctly according to the docs.Eric Anholt
It's the last addressable byte, not the byte after the end of the buffer. (cherry picked from commit b72dea5441e8e9226dabf1826fa3bc129c7bc281)
2009-09-04i965: rename var: s/tmp/vs_inputs/Brian Paul
(cherry picked from commit 840c09fc71542fdfc71edd2a2802925d467567bb)
2009-09-03st/mesa: silence uninitialized var warningsBrian Paul
2009-09-03st/mesa: fix glCopyPixels(GL_STENCIL_INDEX) inverted positionBrian Paul
If the renderbuffer orientation is Y=0=TOP we need to invert the dstY position.
2009-09-02st/mesa: Do GL_RGBA->GL_RGB texsubimage on hardwareKeith Whitwell
State tracker currently backs GL_RGB textures with RGBA almost always. This means we need to maintain A==1 in these textures to give correct GL_RGB sampling results. This change offloads the RGBA->RGB copy to hardware using the new writemask version of u_blit_pixels. More src/dstLogical/dstActual triples could be shifted to hardware by this technique in future patches.
2009-08-31swrast: fix selection/feedback regressionBrian Paul
This fixes a conform selection/feedback regression introduced by commit 8f4d66c5f893b49eb3973aa3b31a856314c045c7
2009-08-31swrast: can't use deferred texture/shading if using KIL instructionBrian Paul
If the fragment program uses KIL, we have to execute it before z/stencil testing. Otherwise, deferred texture/shading lets us skip shading for pixels that fail z/stencil testing.
2009-08-31mesa: added const qualifiers, move local varBrian Paul
2009-08-31mesa: fix saturation logic in emit_texenv()Brian Paul
We need to clamp/saturate after each texenv stage, not just the last one. Fixes glean texEnv failure for softpipe (and probably other fragment program- based drivers).
2009-08-31mesa: fix 32bit cross compilation on a 64bit machineMarc Dietrich
When cross compiling on a 64bit machine, gen_matypes.c is build for the host machine (64bit) but must generates code for the target machine (32bit). This causes wrong offsets all over the place and crashes googleearth on my machine. Solution is to add -m32 when cross compiling. Attached patch is compatible with linux-x86-32 and autoconf based builds.
2009-08-27swrast: fix incorrect tri culling in selection/feedback mode.Brian Paul
See bug 16866.
2009-08-27mesa: direct program debug output to stderr instead of stdoutmarvin24
2009-08-26glsl: signal that the program needs to be re-translated when samplers changeBrian Paul
2009-08-26glsl: fix bug in sampler array indexingBrian Paul
Need to add the 'offset' parameter when indexing the parameter array. Before, if we were setting arrays of samplers, we were actually only setting the 0th sampler's value. Because of how progs/glsl/samplers.c is constructed, this wasn't showing up as a failure in the samplers_array output.
2009-08-24ARB prog: Set error instead of falling through with incorrect valueBrian Paul
If a fragment program only parameter was queried of a vertex program (e.g., GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB) no error would be set and a random value would be returned. This caused 'glxinfo -l' to show the same values for GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB, GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB, GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB as for GL_MAX_PROGRAM_ENV_PARAMETERS_ARB. This is confusing and incorrect. (cherry picked from master, commit 4bccd693a72a0b42dffc849034263a68e779ca91)
2009-08-24vbo: fix divide by zero exceptionBrian Paul
Fixes bug 23489.
2009-08-24glsl: Silence gcc uninitialized variable warning.Vinson Lee
2009-08-21st/mesa: flush bitmap cache if Z value changesBrian Paul
When adding a new bitmap to the cache we have to check if the Z value is changing and flush first if it is. This is a modified version of a patch from Justin Dou <justin.dou@intel.com>
2009-08-18mesa: when emitting vertex program fog, set yzw=0,0,1Brian Paul
Fixes piglit fp-fog failure with gallium.
2009-08-14Allow external settings of MAX_WIDTH/HEIGHT.Brian Paul
Conditionalize MAX_WIDTH / MAX_HEIGHT defines so that users can set them via CFLAGS. (cherry picked from master, commit 66bc17e80e22d8f205cc02171b1c266feab6631f)
2009-08-14mesa: move assertions in test_attachment_completeness()Brian Paul
Put the assertions after the error checks.
2009-08-13mesa: fix some invalid memory readsBrian Paul
We were passing the address of a float to functions that would deref the pointer as an array.
2009-08-13mesa: fix warnings about locals hiding function paramsBrian Paul
2009-08-13mesa: add missing PBO mapping code in unpack_image()Brian Paul
2009-08-13main: fix some potential memory leaksBrian Paul
Allocate dlist images after error checking. Record GL_OUT_OF_MEMORY when we can't make a copy of an image.
2009-08-13mesa: fix some potential uninitialized memory referencesBrian Paul
2009-08-13glsl: fix some uninitialized pointersBrian Paul
2009-08-07dri: Fix problems with unitialized values in dri screen object.Pauli Nieminen
This fixes crash in r200 KMS driver when pSAREA was set to 1 randomly because of memory wasn't cleared. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-06Ensure GL_EXT_blend_equation_separate is enabled when 2.0 is enabled.Alan Hourihane
2009-08-05st/mesa: implement BlitFramebuffer() for depth/stencil (incomplete)Brian Paul
We now handle the case of blitting Z+stencil to/from combined Z/stencil surfaces. But Z-only or stencil-only and separate depth/stencil surfaces are not yet implemented.
2009-08-05mesa: generate GL_INVALID_OPERATION for missing z/stencil when blittingBrian Paul
If glBlitFramebuffer() is called with GL_DEPTH_BUFFER_BIT or GL_STENCIL_BUFFER_BIT and the src/dst depth/stencil buffers are absent, report an error.
2009-08-05st/mesa: fix Y inversion and optimize st_BlitFramebuffer()Brian Paul
Need to check for Y inversion separately for src/dest buffers. If both the src and dest regions are upside down, make them right-side up for a better chance at a fast path. progs/tests/copypixrate -blit is much faster now.
2009-08-05mesa: make _mesa_clip_blit() a shared functionBrian Paul
2009-08-04intel: Fix inverted test for disabling flushing of front buffer output.Brian Paul
The comment disagreed with the code, and nicely drew my eyes to what was going wrong. Bug #21774 (blender) Bug #21788 (readpix) (cherry picked from master, commit fd65418f600874b05f902b622078b40bc1abb24a)
2009-08-04intel: Wait on the last swapbuffers to complete before queuing a new one.Brian Paul
This fixes jerkiness in doom3 and other apps since the kernel change to throttle less absurdly, which led to a thundering herd of frames. Because this is a rather minimal fix, there is at least one downside: If the whole scene completes in one batchbuffer, we'll end up stalling the GPU. Thanks to Michel Dänzer for suggesting using glFlush to signal frame end instead of going to all the effort of adding a new DRI2 extension. (cherry picked from master, commit 0828579a658af01a64b5e699175dc9bbbedcd685)
2009-08-04texenv: Use VP->Current, since _Current isn't updated at this point.Brian Paul
(cherry picked from master, commit a9ba1bfeb3a2852c6eda718e73c46c972a286648)
2009-08-04texenv: Match state.c in deciding whether we'll be using a vertex shader.Brian Paul
(cherry picked from master, commit 40990d9dfb20b69585859b2a45596aa46c20140a)
2009-08-04texenv: Add missing dependency on VP changes.Brian Paul
Funny thing is I annotated this dependency in e5f63c403b767f9974e8eb5d412c012b8a69287f, but didn't actually use it. (cherry picked from master, commit 03187571b63d97e3d1406d329c5e760e16ef3181) Conflicts: src/mesa/main/state.c
2009-08-03st/mesa: we don't support GL_NV_point_sprite (see comment)Brian Paul
2009-07-30mesa: move misplaced return statementBrian Paul
Fixes regression from commit 7d93f817c9c5222e2bdbaa9fa9f03fc502bfe878
2009-07-30mesa: add missing return after catching program errorBrian Paul
2009-07-29mesa/st: short-circuit glFinish calls on WIN32 onlyKeith Whitwell
Windows opengl32.dll calls glFinish prior to every swapbuffers, which makes it pretty hard to get decent performance... Work around by mapping finish to flush on PIPE_OS_WINDOWS. This is conformant, though it might confuse poorly-written benchmarks which attempt to measure a single event rather than figuring out the rate of continuous processing.
2009-07-29mesa/st: recognize no-op scissor state when checking clear_with_quadsKeith Whitwell
Some apps enable scissor but set the rectangle to the dimensions of the window. Don't let this force us onto a slower clear path.
2009-07-27intel: Fix leak of DRI option info due to using the wrong free routine.Brian Paul
(cherry picked from commit 6d66f23c50ebe8f973757b6fd1b81c9b7920c447)
2009-07-27intel: Clean up leak of driver context structure on context destroy.Brian Paul
(cherry picked from commit ddef7dc87b2001fbe117ee5f24a0c645ee95a03c)