summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* r600g: use burst exports in shadersChristian König2011-02-024-3/+40
| | | | | Join multiple exports into just one instruction instead of exporting each register separately.
* 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.
* glsl: Fix printf_length() on MSVC.José Fonseca2011-02-011-0/+8
|
* glsl: Fix memory error when creating the supported version string.Kenneth Graunke2011-02-011-1/+1
| | | | | | | | Passing ralloc_vasprintf_append a 0-byte allocation doesn't work. If passed a non-NULL argument, ralloc calls strlen to find the end of the string. Since there's no terminating '\0', it runs off the end. Fixes a crash introduced in 14880a510a1a288df0778395097d5a52806abfb0.
* r600g: just change tile type when buffer is set to depth.Dave Airlie2011-02-012-6/+2
| | | | | Not 100% sure on this one, but this is how it should work, the question is whether it will uncover other bugs elsewhere.
* r600g: align the tiling modes with what the DDX and kernel expects.Dave Airlie2011-02-011-4/+3
| | | | | | | If we see a MACRO bit on r600g its 2D tiled, if don't see a MACRO bit and we do see a MICRO bit then its 1D tiled. Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix evergreen for depth decompress testDave Airlie2011-02-011-1/+1
|
* r600: only decompress depth when its tile type is wrong.Dave Airlie2011-02-013-3/+7
| | | | | | | | If the tile type for the buffer is 1 then its been bound to the DB at some point, we need to decompress it, otherwise its only been bound as texture/cb so don't do anything. This fixes 5 piglit tests here on r600g.
* texture_builtins.py: Fix a warning about mixed tabs/spaces.Kenneth Graunke2011-01-311-1/+1
|
* r600g: start looking at evergreen tiling.Dave Airlie2011-02-013-20/+79
| | | | | | | | this just adds the ioctl interface and sets the tile type and array mode in the correct place. This seems to bring eg 1D tiling to the same level, and issues as on r600. No idea how to address 2D yet.
* r600g: Actually use the info from the flushed depth texture when creating a ↵Henri Verbeet2011-02-012-18/+11
| | | | | | | sampler view on a depth texture. R600/R700 was using incorrect tiling information from the (compressed) depth buffer. Evergreen worked anyway because tiling doesn't work.
* glsl: Refresh autogenerated lexer and parser files.Ian Romanick2011-01-311-256/+271
| | | | For the previous commit.
* glsl: Reject shader versions not supported by the implementationIan Romanick2011-01-313-9/+82
| | | | | | | | Previously we'd happily compile GLSL 1.30 shaders on any driver. We'd also happily compile GLSL 1.10 and 1.20 shaders in an ES2 context. This has been a long standing FINISHME in the compiler. NOTE: This is a candidate for the 7.9 and 7.10 branches
* glsl: Ensure that all GLSL versions are supported in the stand-alone compilerIan Romanick2011-01-311-0/+6
| | | | NOTE: This is a candidate for the 7.9 and 7.10 branches
* glsl: Fix dependencies / linkage for glsl_compilerIan Romanick2011-01-311-2/+2
|
* 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.
* r600g: fix invalid ref count handling in r600_set_constant_bufferChristian König2011-01-311-1/+1
| | | | | Only decrement ref count if r600_upload_const_buffer really changes the buffer.
* llvmpipe: fix incorrect array index in image dump codeBrian Paul2011-01-311-1/+1
|
* glsl: regerated filesBrian Paul2011-01-312-125/+118
|
* glsl: make _token_list_is_empty_ignoring_space() staticBrian Paul2011-01-311-1/+1
| | | | To silence warning about missing prototype.
* scons/glsl: add top-level 'include' dir to CPPPATHBrian Paul2011-01-311-0/+1
| | | | | To avoid using the /usr/include/GL/gl.h file which may be lacking some special #defines.
* glsl: add cast to silence signed/unsigned comparison warningBrian Paul2011-01-311-1/+1
|
* glsl: Define va_copy on MSVC.José Fonseca2011-01-311-0/+8
|
* i965: Emit texel offsets in sampler messages.Kenneth Graunke2011-01-312-4/+43
|
* glsl/builtins: Uncomment prototypes for texture*Offset functions.Kenneth Graunke2011-01-312-20/+0
|
* texture_builtins.py: Generate texture*Offset functions.Kenneth Graunke2011-01-311-5/+80
|
* texture_builtins.py: Generalize the "use_proj" field to support offsets.Kenneth Graunke2011-01-311-52/+57
| | | | | | | | Rather than passing "True", pass a bitfield describing the particular variant's features - either projection or offset. This should make the code a bit more readable ("Proj" instead of "True") and make it easier to support offsets in the future.
* texture_builtins.py: Refactor coordinate dimension calculations.Kenneth Graunke2011-01-311-5/+9
| | | | | For offsets, we'll want the straight sampler dimensionality, without the +1 for array types. Create a new function to do that; refactor.
* glsl: Introduce a new "const_in" variable mode.Kenneth Graunke2011-01-3112-4/+36
| | | | | | | | This annotation is for an "in" function parameter for which it is only legal to pass constant expressions. The only known example of this, currently, is the textureOffset functions. This should never be used for globals.
* glsl: Change texel offsets to a single vector rvalue.Kenneth Graunke2011-01-318-29/+42
| | | | | | | | | | | Having these as actual integer values makes it difficult to implement the texture*Offset built-in functions, since the offset is actually a function parameter (which doesn't have a constant value). The original rationale was that some hardware needs these offset baked into the instruction opcode. However, at least i965 should be able to support non-constant offsets. Others should be able to rely on inlining and constant propagation.
* glsl: Re-synchronize ir_variable_mode and the printer's string array.Kenneth Graunke2011-01-311-1/+1
| | | | | | Since the introduction of ir_var_system_value, system variables would be printed as "temporary" and temporaries would result in out-of-bounds array access, showing up as garbage in printed IR.
* scons: Gracefully handle pkg-config errors with libdrm_radeon.Vinson Lee2011-01-312-2/+12
| | | | Print warnings and continue build.
* Remove the talloc sources from the Mesa repository.Kenneth Graunke2011-01-316-3895/+0
|
* Remove talloc from the SCons build system.Kenneth Graunke2011-01-318-49/+2
|
* Remove talloc from the make and automake build systems.Kenneth Graunke2011-01-313-6/+4
|
* ralloc: a new MIT-licensed recursive memory allocator.Kenneth Graunke2011-01-312-35/+280
|
* Convert everything from the talloc API to the ralloc API.Kenneth Graunke2011-01-3167-604/+590
|
* ralloc: Add a fake implementation of ralloc based on talloc.Kenneth Graunke2011-01-314-0/+542
|
* glx: Properly check for a valid fd in dri2CreateScreen().Henri Verbeet2011-01-311-1/+3
| | | | Signed-off-by: Brian Paul <[email protected]>
* svga: Fix translation of TGSI SSG opcode.Michel Dänzer2011-01-311-1/+39
| | | | | | | SVGA3D only supports SGN for vertex shaders, and this requires two additional temporary registers for intermediate results. For fragment shaders, lower to two CMPs and one ADD.
* svga: TEXLDL opcode dst/src register information is correct.Michel Dänzer2011-01-311-1/+1
|
* svga: Print the number and mnemonic of the opcode we're missing information for.Michel Dänzer2011-01-311-0/+2
| | | | Makes it easier to figure out which opcode it's about.
* glx: Fix leaks in DRISW screen creation error paths.Henri Verbeet2011-01-311-2/+5
| | | | Signed-off-by: Brian Paul <[email protected]>
* glx: Fix leaks in DRI screen creation error paths.Henri Verbeet2011-01-311-19/+20
| | | | Signed-off-by: Brian Paul <[email protected]>
* glx: Fix leaks in DRI2 screen creation error paths.Henri Verbeet2011-01-313-15/+29
| | | | Signed-off-by: Brian Paul <[email protected]>
* glx: fix length of GLXGetFBConfigsSGIXJulien Cristau2011-01-311-1/+1
| | | | | | | | | | The extra length is the size of the request *minus* the size of the VendorPrivate header, not the addition. NOTE: This is a candidate for the 7.9 and 7.10 branches Signed-off-by: Julien Cristau <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* glx: fix GLXChangeDrawableAttributesSGIX requestJulien Cristau2011-01-311-2/+3
| | | | | | | | | | | | xGLXChangeDrawableAttributesSGIXReq follows the GLXVendorPrivate header with a drawable, number of attributes, and list of (type, value) attribute pairs. Don't forget to put the number of attributes in there. I don't think this can ever have worked. NOTE: This is a candidate for the 7.9 and 7.10 branches Signed-off-by: Julien Cristau <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* r600g: fix eg OQ properly.Dave Airlie2011-01-312-5/+3
| | | | the context init is separate for these gpus.