summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* st/mesa: allow rendering to sRGB textures if EXT_fb_srgb is unsupportedMarek Olšák2011-02-111-5/+24
| | | | | In this case, we always use the corresponding linear format in create_surface, therefore we should check for linear format support as well.
* i915: Force lowering of all types of indirect array accesses in the FSIan Romanick2011-02-101-3/+11
| | | | NOTE: This is a candidate for the 7.9 and 7.10 branches.
* i915: Calculate partial result to temp register firstIan Romanick2011-02-101-8/+8
| | | | | | | | | | | | Previously the SNE and SEQ instructions would calculate the partial result to the destination register. This would cause problems if the destination register was also one of the source registers. Fixes piglit tests glsl-fs-any, glsl-fs-struct-equal, glsl-fs-struct-notequal, glsl-fs-vec4-operator-equal, glsl-fs-vec4-operator-notequal. NOTE: This is a candidate for the 7.9 and 7.10 branches.
* mesa/st: enable GL_EXT_framebuffer_sRGBDave Airlie2011-02-103-3/+14
| | | | | | | | | If the formats don't match we need to update the surface with the new format. if we can render to SRGB formats, enable the extension Signed-off-by: Dave Airlie <[email protected]>
* mesa/st: Clean up vertex buffer unreferencingThomas Hellstrom2011-02-091-10/+9
| | | | | | | Avoid accessing draw module internal structures outside of the draw module. Unreference vertex buffers in error path. Signed-off-by: Thomas Hellstrom <[email protected]>
* r200: add cast to silence warningBrian Paul2011-02-081-1/+1
|
* mesa: remove unused BITFIELD64 macrosBrian Paul2011-02-081-16/+1
|
* mesa: remove _mesa_create_context_for_api()Brian Paul2011-02-0814-44/+23
| | | | Just add the gl_api parameter to _mesa_create_context().
* mesa: remove _mesa_initialize_context_for_api()Brian Paul2011-02-089-42/+19
| | | | Just add the gl_api parameter to _mesa_initialize_context().
* mesa: add/update VERBOSE_API loggingBrian Paul2011-02-088-6/+113
|
* st/mesa: fix shader deletion regressionBrian Paul2011-02-081-3/+4
| | | | | | | | | Fixes a regression from commit 5cbff0932e498f49b57cbb71037b93416bfe30e0. The problem is *some* glDrawPixels fragment programs need to be deleted, but not all. Use an explicit flag to indicate whether or not the program needs to be deleted. This should fix http://bugs.freedesktop.org/show_bug.cgi?id=34049
* i965: Add missing DEFINE_BITS for brw dirty bits.Kenneth Graunke2011-02-081-0/+4
| | | | | These are only used for debugging, but should be there. Found by inspection.
* i965: Separate the BRW_NEW_(VS|WM)_CONSTBUF dirty bits.Kenneth Graunke2011-02-081-1/+1
| | | | | These were incorrectly defined to the same value - likely due to a cut and paste error. Found by inspection.
* i965: Rename a few more commands to match the documentation.Kenneth Graunke2011-02-082-5/+5
|
* i965: Remove pointless keying of WM state on VUE size.Eric Anholt2011-02-081-4/+0
|
* mesa: Fix the Mesa IR copy propagation to not read past writes to the reg.Eric Anholt2011-02-081-7/+40
| | | | | | Fixes glsl-vs-post-increment-01. Reviewed-by: José Fonseca <[email protected]>
* mesa/st: Plug a fragment program variant parameter leakThomas Hellstrom2011-02-081-0/+2
| | | | | | | Fixes a minor memory leak with the "engine" mesa demo. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* st/mesa: free the temporary bitmap/drawpix shader codeBrian Paul2011-02-081-2/+10
| | | | | | | Fixes a per-shader memory leak when drawing glBitmaps, glDrawPixels or glCopyPixels. NOTE: This is a candidate for the 7.9 and 7.10 branches.
* mesa/st: Fix vertex buffer leakThomas Hellstrom2011-02-081-0/+1
| | | | | | | | | Make sure we unreference the vertex buffer pointers in a local array. This fixes huge vertex buffer / memory leaks in mesa demos "fire" and "engine". NOTE: This is a candidate for the 7.9 and 7.10 branches. Signed-off-by: Thomas Hellstrom <[email protected]>
* intel: Implement dri2::{Allocate,Release}BufferBenjamin Franzke2011-02-071-0/+47
|
* Add dri2::{Allocate,Release}Buffer extensionBenjamin Franzke2011-02-072-1/+25
|
* r300/compiler: Disable register rename pass on r500Tom Stellard2011-02-051-1/+1
| | | | | | | | | | | The scheduler and the register allocator are not good enough yet to deal with the effects of the register rename pass. This was causing a 50% performance drop in Lightsmark. The pass can be re-enabled once the scheduler and the register allocator are more mature. r300 and r400 still need this pass, because it prevents a lot of shaders from using too many texture indirections. NOTE: This is a candidate for the 7.10 branch.
* r300/compiler: Don't count BEGIN_TEX instructions in the compiler statsTom Stellard2011-02-051-1/+3
|
* mesa/965: add support for GL_EXT_framebuffer_sRGB (v2)Dave Airlie2011-02-057-5/+16
| | | | | | | | | | | | This adds i965 support for GL_EXT_framebuffer_sRGB, it introduces a new constant to say that the driver can support sRGB enabled FBOs since enabling the extension doesn't mean the driver can actually support sRGB. Also adds the suggested state flush in the core code suggested by Brian. fix the ARB_fbo color encoding. Signed-off-by: Dave Airlie <[email protected]>
* mesa: Fix error checks in GetVertexAttrib functionsIan Romanick2011-02-041-36/+32
| | | | | | | | | Querying index zero is not an error in OpenGL ES 2.0. Querying an index larger than the value returned by GL_MAX_VERTEX_ATTRIBS is an error in all APIs. Fixes bugzilla #32375.
* i965: Drop the dead tracking of color_regions[].Eric Anholt2011-02-043-12/+2
| | | | We pull the draw regions right out of the renderbuffers these days.
* i965: Drop the INTEL_DEBUG=state spam about the cache size check.Eric Anholt2011-02-041-2/+0
| | | | | There's way more interesting info in INTEL_DEBUG=state if you could find it among the state size checks.
* swrast: add an interface createNewContextForAPIHaitao Feng2011-02-032-10/+120
| | | | | | | | This new interface could set up context for OpenGL, OpenGL ES1 and OpenGL ES2. It will be used by egl_dri2 driver. Signed-off-by: Haitao Feng <[email protected]>
* r300c: Unbreak after R4xx support was added to r300/compiler.Michel Dänzer2011-02-032-0/+2
|
* r200: remove 0x4243 pci idAlex Deucher2011-02-012-2/+0
| | | | | | | There's no such device. 0x4243 is a pci bridge id, not a GPU. Signed-off-by: Alex Deucher <[email protected]>
* 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.