aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* i965: Emit conditional code updates as required for GLSL VS if statements.Eric Anholt2009-09-041-0/+13
| | | | | | Previously, we'd be branching based on whatever condition code happened to be laying around. (cherry picked from commit 7007f8b352763af89805f287153cb7972bff0523)
* i965: Spell "conditional" correctly.Eric Anholt2009-09-043-15/+15
|
* i965: Fix RECT shadow sampling by not losing the other texcoords.Eric Anholt2009-09-041-1/+5
| | | | | Bug #20821 (cherry picked from commit 191e028de20b2f954621b652aa77b06d0e93652a)
* i965: Assert that the offset in the VBO is below the VBO size.Eric Anholt2009-09-041-0/+14
| | | | | | | | | | | 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)
* i965: Even if no VS inputs are set, still load some amount of URB as required.Eric Anholt2009-09-041-0/+11
| | | | | | | 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)
* i965: Make sure the VS URB size is big enough to fit a VF VUE.Eric Anholt2009-09-041-1/+8
| | | | | | | This fix is just from code and docs inspection, but it may fix hangs on some applications. (cherry picked from commit e93848e595176ae0bad3bfe64e0ca63fd089bb72)
* i965: Don't emit bad packets when no VBs are referenced.Eric Anholt2009-09-041-0/+22
| | | | | | | | | | 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)
* i965: Calculate enabled[] and nr_enabled once and re-use the values.Eric Anholt2009-09-042-29/+18
| | | | | The code duplication bothered me. (cherry picked from commit 9b9cb30d128fc5f1ba77287696ecd508e640efde)
* i965: Set the max index buffer address correctly according to the docs.Eric Anholt2009-09-041-1/+1
| | | | | It's the last addressable byte, not the byte after the end of the buffer. (cherry picked from commit b72dea5441e8e9226dabf1826fa3bc129c7bc281)
* i965: rename var: s/tmp/vs_inputs/Brian Paul2009-09-041-8/+8
| | | | (cherry picked from commit 840c09fc71542fdfc71edd2a2802925d467567bb)
* gallium/xlib: silence unitialized var warningBrian Paul2009-09-031-1/+1
|
* gallium/xlib: silence uninitialized var warningBrian Paul2009-09-031-1/+1
|
* st/mesa: silence uninitialized var warningsBrian Paul2009-09-031-2/+2
|
* st/mesa: fix glCopyPixels(GL_STENCIL_INDEX) inverted positionBrian Paul2009-09-031-0/+4
| | | | | If the renderbuffer orientation is Y=0=TOP we need to invert the dstY position.
* st/mesa: Do GL_RGBA->GL_RGB texsubimage on hardwareKeith Whitwell2009-09-021-14/+51
| | | | | | | | | | | | 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.
* util: add version of u_blit_pixels which takes a writemaskKeith Whitwell2009-09-024-15/+100
| | | | Values outside the writemask are set in the destination to {0,0,0,1}
* draw: remove unused variableKeith Whitwell2009-09-021-1/+0
|
* swrast: fix selection/feedback regressionBrian Paul2009-08-311-1/+1
| | | | | This fixes a conform selection/feedback regression introduced by commit 8f4d66c5f893b49eb3973aa3b31a856314c045c7
* swrast: can't use deferred texture/shading if using KIL instructionBrian Paul2009-08-311-0/+3
| | | | | | 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.
* mesa: added const qualifiers, move local varBrian Paul2009-08-311-7/+8
|
* mesa: fix saturation logic in emit_texenv()Brian Paul2009-08-311-1/+7
| | | | | | 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).
* mesa: fix 32bit cross compilation on a 64bit machineMarc Dietrich2009-08-311-1/+1
| | | | | | | | | | | 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.
* glx/x11: Fix glXCreateGLXPixmap for direct rendering.Michel Dänzer2009-08-301-0/+28
| | | | Fixes progs/xdemos/glxpixmap modified to use direct rendering.
* util: Reset size to zero when failed to allocate buffer.José Fonseca2009-08-281-2/+6
|
* swrast: fix incorrect tri culling in selection/feedback mode.Brian Paul2009-08-272-7/+9
| | | | See bug 16866.
* mesa: direct program debug output to stderr instead of stdoutmarvin242009-08-271-9/+9
|
* gallium/util: added support for SRGB formatsBrian Paul2009-08-271-0/+196
| | | | Fixes glean/texture_srgb failure, bug #23449.
* gallium/util: added cases for SRGB formatsBrian Paul2009-08-271-0/+10
|
* glsl: signal that the program needs to be re-translated when samplers changeBrian Paul2009-08-261-4/+15
|
* glsl: fix bug in sampler array indexingBrian Paul2009-08-261-3/+7
| | | | | | | | | 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.
* ARB prog: Set error instead of falling through with incorrect valueBrian Paul2009-08-241-0/+3
| | | | | | | | | | | | | | 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)
* xlib: fix single buffer window resize bugBrian Paul2009-08-241-0/+1
| | | | | | When a single-buffered window was resized the new window size was never detected. This fix that, but there's still a bug which causes window contents corruption for certain window sizes...
* vbo: fix divide by zero exceptionBrian Paul2009-08-241-1/+1
| | | | Fixes bug 23489.
* glsl: Silence gcc uninitialized variable warning.Vinson Lee2009-08-241-1/+1
|
* st/mesa: flush bitmap cache if Z value changesBrian Paul2009-08-211-5/+11
| | | | | | | 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 <[email protected]>
* tgsi: check for SOA dependencies in SSE and PPC code generatorsBrian Paul2009-08-202-0/+8
| | | | Fall back to interpreter for now. This doesn't happen very often.
* tgsi: handle SOA dependencies for MOV/SWZBrian Paul2009-08-202-14/+40
| | | | | | | | | | | | | | | | | | | | | | SOA dependencies can happen when a register is used both as a source and destination and the source is swizzled. For example: MOV T, T.yxwz; would expand into: MOV t0, t1; MOV t1, t0; MOV t2, t3; MOV t3, t2; The second instruction will produce the wrong result since we wrote to t0 in the first instruction. We need to use an intermediate temporary to fix this. This will take more work to fix for all TGSI instructions. This seems to happen with MOV instructions more than anything else so fix that case now and warn on others. Fixes piglit glsl-vs-loop test (when not using SSE). See bug 23317.
* tgsi: added tgsi_full_instruction::Flags fieldBrian Paul2009-08-202-0/+3
| | | | Users of the parser can make use of this.
* tgsi/ppc: we don't implement saturation modes yetBrian Paul2009-08-181-0/+5
|
* tgsi/sse: we don't implement saturation modes yetBrian Paul2009-08-181-0/+4
| | | | Fixes piglit fp-generic tests/shaders/generic/lrp_sat.fp, bug 23316.
* mesa: when emitting vertex program fog, set yzw=0,0,1Brian Paul2009-08-181-0/+2
| | | | Fixes piglit fp-fog failure with gallium.
* gallium: Always map for READ flag when DISCARD is not set.José Fonseca2009-08-141-0/+7
| | | | | | | | | | This prevents the driver from discarding a buffer when the whole buffer is mapped for writing, but only a portion is effectively written. This is a temporary fix, because WRITE shouldn't imply DISCARD. The full fix implies using PIPE_BUFFER_USAGE_DISCARD, throughout the code, and will go only into master.
* trace: Remove space next to the class attribute of the trace.José Fonseca2009-08-141-1/+1
|
* python/retrace: Open bz2 files correctly.José Fonseca2009-08-141-1/+1
|
* Allow external settings of MAX_WIDTH/HEIGHT.Brian Paul2009-08-141-2/+7
| | | | | | | Conditionalize MAX_WIDTH / MAX_HEIGHT defines so that users can set them via CFLAGS. (cherry picked from master, commit 66bc17e80e22d8f205cc02171b1c266feab6631f)
* mesa: move assertions in test_attachment_completeness()Brian Paul2009-08-141-5/+7
| | | | Put the assertions after the error checks.
* mesa: fix some invalid memory readsBrian Paul2009-08-131-18/+57
| | | | | We were passing the address of a float to functions that would deref the pointer as an array.
* mesa: fix warnings about locals hiding function paramsBrian Paul2009-08-132-6/+6
|
* mesa: add missing PBO mapping code in unpack_image()Brian Paul2009-08-131-7/+21
|
* main: fix some potential memory leaksBrian Paul2009-08-131-112/+85
| | | | | Allocate dlist images after error checking. Record GL_OUT_OF_MEMORY when we can't make a copy of an image.