summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* i915: Only mark a register as available if all components are writtenIan Romanick2011-02-011-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously a register would be marked as available if any component was written. This caused shaders such as this: 0: TEX TEMP[0].xyz, INPUT[14].xyyy, texture[0], 2D; 1: MUL TEMP[1], UNIFORM[0], TEMP[0].xxxx; 2: MAD TEMP[2], UNIFORM[1], TEMP[0].yyyy, TEMP[1]; 3: MAD TEMP[1], UNIFORM[2], TEMP[0].zzzz, TEMP[2]; 4: ADD TEMP[0].xyz, TEMP[1].xyzx, UNIFORM[3].xyzx; 5: TEX TEMP[1].w, INPUT[14].xyyy, texture[0], 2D; 6: MOV TEMP[0].w, TEMP[1].wwww; 7: MOV OUTPUT[2], TEMP[0]; 8: END to produce incorrect code such as this: BEGIN DCL S[0] DCL T_TEX0 R[0] = MOV T_TEX0.xyyy U[0] = TEXLD S[0],R[0] R[0].xyz = MOV U[0] R[1] = MUL CONST[0], R[0].xxxx R[2] = MAD CONST[1], R[0].yyyy, R[1] R[1] = MAD CONST[2], R[0].zzzz, R[2] R[0].xyz = ADD R[1].xyzx, CONST[3].xyzx R[0] = MOV T_TEX0.xyyy U[0] = TEXLD S[0],R[0] R[1].w = MOV U[0] R[0].w = MOV R[1].wwww oC = MOV R[0] END Note that T_TEX0 is copied to R[0], but the xyz components of R[0] are still expected to hold a calculated value. Fixes piglit tests draw-elements-vs-inputs, fp-kill, and glsl-fs-color-matrix. It also fixes Meego bugzilla #13005. NOTE: This is a candidate for the 7.9 and 7.10 branches.
* mesa: glGetUniform only returns a single element of an arrayIan Romanick2011-02-011-14/+41
| | | | | | | Also return it as the correct type. Previously the whole array would be returned and each element would be expanded to a vec4. Fixes piglit test getuniform-01 and bugzilla #29823.
* mesa: Initial size for secondary color array is 3Ian Romanick2011-01-311-1/+1
| | | | See table 6.7 on page 347 of the OpenGL 3.0 specification.
* i965: Emit texel offsets in sampler messages.Kenneth Graunke2011-01-312-4/+43
|
* Remove talloc from the SCons build system.Kenneth Graunke2011-01-311-2/+0
|
* Remove talloc from the make and automake build systems.Kenneth Graunke2011-01-312-2/+2
|
* Convert everything from the talloc API to the ralloc API.Kenneth Graunke2011-01-3113-105/+99
|
* r300/compiler: Standardize the number of bits used by swizzle fieldsTom Stellard2011-01-2910-46/+50
| | | | | | | | | | | | | | Swizzles are now defined everywhere as a field with 12 bits that contains 4 channels worth of meaningful information. Any channel that is unused is set to RC_SWIZZLE_UNUSED. This change is necessary because rgb instructions and alpha instructions were initializing channels that would never be used (channel 3 for rgb and channels 1-3 for alpha) with 0 (aka RC_SWIZZLE_X). This made it impossible to use generic helper functions for swizzles, because sometimes a channel value of 0 meant unused and other times it meant RC_SWIZZLE_X. All hacks that tried to guess how many channels were relevant have also been removed.
* st/mesa: fix texture array dimensionsBrian Paul2011-01-283-18/+122
| | | | | | | | | | | | | For 1D/2D texture arrays use the pipe_resource::array_size field. In OpenGL 1D arrays texture use the height dimension as the array size and 2D array textures use the depth dimension as the array size. Gallium uses a special array_size field instead. When setting up gallium textures or comparing Mesa textures to gallium textures we need to be extra careful that we're comparing the right fields. The new st_gl_texture_dims_to_pipe_dims() function maps OpenGL texture dimensions to gallium texture dimensions and simplifies this quite a bit.
* mesa: fix typo, wrap long lineBrian Paul2011-01-281-2/+3
|
* st/mesa: pass layers param to st_texture_create()Brian Paul2011-01-287-4/+9
|
* mesa: Fix available APIs for AMD_conservative_depthChad Versace2011-01-281-1/+1
| | | | | Remove ES2, since AMD_conservative_depth is not listed in the OpenGL ES extension registry.
* r300/compiler: print stats based on the initial number of instructionsMarek Olšák2011-01-282-3/+10
| | | | | The same number of shaders is now printed regardless of optimizations being enabled or not, so that we can compare shader stats side by side easily.
* glsl: use 'this' pointer to be consistentBrian Paul2011-01-261-1/+1
|
* glsl: remove needless conditionalBrian Paul2011-01-261-14/+10
|
* glsl: move ir_var_out codeBrian Paul2011-01-261-7/+7
|
* glsl: move ir_var_system_value codeBrian Paul2011-01-261-5/+5
|
* glsl: use local var to simplify code a bitBrian Paul2011-01-261-22/+23
|
* mesa: fix compilationZack Rusin2011-01-261-5/+10
| | | | this isn't c++ please don't mix declerations with code
* mesa: Allow extensions in MESA_EXTENSION_OVERRIDE to be prefixed with '+'Chad Versace2011-01-261-0/+5
| | | | | If an extension is prefixed with '+', attempt to enable it. This introduces symmetry with the prefix '-', which is already allowed.
* mesa: Simplify logic in get_extension_override()Chad Versace2011-01-261-62/+41
| | | | | | * Reduce max indentation level from 7 to 3. * Eliminate counter variables. * Remove function append().
* mesa: Propagate gl_FragDepth layout from GLSL IR to Mesa IRChad Versace2011-01-262-0/+41
|
* mesa: Add AMD_conservative_depth to extension listChad Versace2011-01-262-0/+2
| | | | | | | The extension is off by default. First in a patchset that implements support for AMD_conservative_depth in the compiler.
* mesa: Support internalFormat=GL_BGRA for DRI driversKristian Høgsberg2011-01-261-0/+11
|
* mesa: fix MESA/EXT typoBrian Paul2011-01-261-1/+1
| | | | Spotted by Bernd Buschinski.
* st/mesa: support for 1D/2D texture arraysBrian Paul2011-01-253-5/+12
|
* mesa: remove isProxy local varBrian Paul2011-01-251-4/+2
|
* mesa: use texFormat local var in more placesBrian Paul2011-01-251-4/+4
|
* mesa: consolidate error handling code in _mesa_GetTexLevelParameteriv()Brian Paul2011-01-251-26/+19
|
* mesa: consolidate error handling in set_tex_parameteri()Brian Paul2011-01-251-38/+36
|
* mesa: add checks for GL_EXT_texture_arrayBrian Paul2011-01-252-16/+23
| | | | In case the driver enables GL_MESA_texture_array but not the EXT version.
* ir_to_mesa: Add several assertions about sizes of arraysIan Romanick2011-01-251-0/+4
| | | | | Both of these assertions are triggered by the test case in bugzilla size of 0.
* st/mesa: add comments in emit_wpos()Brian Paul2011-01-251-0/+12
|
* st/mesa: fix incorrect fragcoord.x translationBrian Paul2011-01-251-4/+6
| | | | | | | | | emit_adjusted_wpos() needs separate x,y translation values. If we invert Y, we don't want to effect X. Part of the fix for http://bugs.freedesktop.org/show_bug.cgi?id=26795 NOTE: This is a candidate for the 7.9 and 7.10 branches.
* mesa: add red, red/green formats in _mesa_base_fbo_format()Brian Paul2011-01-241-1/+11
|
* mesa: plug in fallback function for ctx->Driver.ValidateFramebuffer()Brian Paul2011-01-244-1/+34
| | | | | The software renderer doesn't support GL_ALPHA, GL_LUMINANCE, etc so we should report GL_FRAMEBUFFER_UNSUPPORTED during FBO validation.
* mesa: new cases in _mesa_base_fbo_format()Brian Paul2011-01-241-8/+35
| | | | | | | | The set of internalFormat parameters accepted by glRenderBufferStorage depends on the EXT vs. ARB version of framebuffer_object. The later added support for GL_ALPHA, GL_LUMINANCE, etc. formats. Note that these formats might be legal but might not be supported. That should be checked with glCheckFramebufferStatus().
* Revert "mesa: Simplify _mesa_base_fbo_format by making it exceptions to ↵Brian Paul2011-01-241-24/+43
| | | | | | | | | teximages." This reverts commit 65c41d55a06137115f0b4c67f9a3fd2708f0b625. There really are quite a few differences in the set of internal formats allowed by glTexImage and glRenderbufferStorage.
* st/mesa: Enable EXT_texture_format_BGRA8888 for gles1/2Benjamin Franzke2011-01-241-0/+2
|
* st/mesa: support internalFormat=GL_BGRA in TexImage2DBenjamin Franzke2011-01-241-1/+10
|
* mesa/es: require internalFormat==format in TexImage2DBenjamin Franzke2011-01-241-4/+57
|
* mesa: allow internalFormat=GL_BGRA_EXT in TexImage2DBenjamin Franzke2011-01-241-0/+9
|
* mesa: s/movzxw/movzwl/ in read_rgba_span_x86.SDimitry Andric2011-01-241-1/+1
| | | | | | | Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33386 NOTE: This is a candidate for the 7.9 and 7.10 branches Signed-off-by: Brian Paul <[email protected]>
* mesa: s/movzx/movzbl/Dimitry Andric2011-01-241-7/+7
| | | | | | | Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33388 NOTE: This is a candidate for the 7.9 and 7.10 branches. Signed-off-by: Brian Paul <[email protected]>
* osmesa: mklib requires arguments before objectsChristopher James Halse Rogers2011-01-241-1/+1
| | | | | | | | | | | | | | | | Fixes the build when selecting driver=osmesa and building static libraries. Otherwise, mklib tries to add the ‘-ltalloc’ object to the archive, which obviously fails. Clients which statically link to osmesa will need to link to libtalloc also, as specified in the Libs.private of osmesa.pc. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=33360 NOTE: This is a candidate for the 7.10 branch. Signed-off-by: Christopher James Halse Rogers <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* r600c: only colors can be flat shadedAndre Maasikas2011-01-242-36/+9
| | | | fixes stellarium text and menu display
* r300g: Increase fragment shader limits for r400 cardsTom Stellard2011-01-235-33/+205
| | | | | r400 fragment shaders now support up to 64 temporary registers, 512 ALU instructions, and 512 TEX instructions.
* gldirect: remove _NEW_ACCUMBrian Paul2011-01-233-6/+0
|
* i965: remove _NEW_ACCUMBrian Paul2011-01-231-1/+0
|
* mesa: add ARB_framebuffer_sRGB as alias of the EXT variantMarek Olšák2011-01-231-0/+1
| | | | Signed-off-by: Brian Paul <[email protected]>