Age | Commit message (Collapse) | Author | |
---|---|---|---|
2009-05-28 | nv50: introduce emit_cvt and use it | Christoph Bumiller | |
This makes some code cleaner, and we can now easily do CEIL and TRUNC. | |||
2009-05-28 | nv50: fix TXP | Christoph Bumiller | |
For TXP we need to divide texture coords by their w component, or use the coords' 1/w in the perspective interpolation instruction. This also tries to support 1D, 3D and CUBE textures, and lets the instruction only load the components that are used. | |||
2009-05-28 | nv50: use multiple constant buffers | Christoph Bumiller | |
Use different buffers for immds, FP params, and VP params. One has to map constant buffer indices in shader code to buffers defined via CB_DEF. In principle, we could use more buffers so we'd have to change the shader code less frequently. | |||
2009-05-28 | nv50: don't look for unfreed temps in free_nv50_pc | Christoph Bumiller | |
Since we stopped using alloc_temp to get hw indices for FP attrs there shouldn't be any non-deallocated temps left. | |||
2009-05-28 | nv50: release hw TEMPs early | Christoph Bumiller | |
Since we know when we don't use a TEMP or FP ATTR register anymore, we can release their hw resources early. | |||
2009-05-28 | nv50: allow immediates for MOV, ADD and MUL | Christoph Bumiller | |
Immediates are inlined now where possible, so we need to set pc->allow32 to FALSE in LIT where we have the conditional MOV, since immediates swallow the predicate bits. | |||
2009-05-28 | nv50: enable half insns for MOV and MUL | Christoph Bumiller | |
2009-05-28 | nv50: make sure half-long insns are paired | Christoph Bumiller | |
I chose to just convert unpaired 32 bit length instructions after parsing all instructions, although it might be possible to determine beforehand whether there would be any lone ones, and then even do some swapping to bring them together ... | |||
2009-05-28 | nv50: enable KIL in register 19a8 | Christoph Bumiller | |
2009-05-28 | nv50: don't overwrite sources before they're used | Christoph Bumiller | |
This would have happened in p.e. ADD TEMP[0], TEMP[0].xyxy, TEMP[1] or RCP/RSQ TEMP[i], TEMP[i]. | |||
2009-05-28 | nv50: put FP outputs where they belong | Christoph Bumiller | |
Depth output in fragment programs should end up in the first register after the color outputs. | |||
2009-05-28 | nv50: modified FP attribute loading | Christoph Bumiller | |
VP outputs that should be loadable in the FP are mapped to interpolant indices by HPOS, COL0 etc.; of course HPOS is always written, so the highest byte of 1988 is a bitmask that selects which components of HPOS are used for interpolants, i.e. the FP inputs in COL0 start at index POPCNT(1988[24:28]). | |||
2009-05-28 | nv50: inspect decl semantic and interpolation mode | Christoph Bumiller | |
Record interpolation mode for attributes while parsing declarations, and also remember the indices of FP color inputs and FP depth output, which has to end up in the highest output register. | |||
2009-05-28 | nv50: record last access to temp and attr regs | Christoph Bumiller | |
We now inspect the TGSI instructions in tx_prep to determine where temps and FP attrs are last accessed. This will enable us to reclaim some temporaries early and we also use it to omit pre-loading FP attributes that aren't used. | |||
2009-05-28 | nv50: save some space in immediate buffer | Christoph Bumiller | |
We could do even better (like just allocating 1 value in alloc_immd), but that's fine for now I guess. | |||
2009-05-28 | nv50: fix SIGN_SET case in tgsi_src | Christoph Bumiller | |
2009-05-28 | nv50: set dst.z,w to 0,1 in SCS and XPD | Christoph Bumiller | |
According to tgsi-instruction-set.txt, if they are written, z and w should be set to 0 and 1 respectively in SCS, and w to 1.0 in XPD. | |||
2009-05-28 | nv50: make LRP instruction nicer | Christoph Bumiller | |
2009-05-28 | nv50: fix some memory leaks in shader assembler | Christoph Bumiller | |
2009-05-28 | nouveau: explicitly request mappable buffers for the moment | Ben Skeggs | |
2009-05-27 | draw: Fix assertion failure at fetch_emit_prepare | Mike Kaplinksiy | |
2009-05-27 | demos: remove some old debug/test code | Brian Paul | |
2009-05-27 | softpipe: comments | Brian Paul | |
2009-05-27 | softpipe: include sp_winsys.h to silence warning (unprototyped function) | Brian Paul | |
2009-05-27 | softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON | Brian Paul | |
Use the first vertex, not the last. | |||
2009-05-27 | st/mesa: init Format field of vertex arrays for feedback mode | Brian Paul | |
Fixes segfault in glRasterPos() | |||
2009-05-26 | i915: Fall back on NPOT textured metaops on 830-class. | Eric Anholt | |
2009-05-26 | i915: Restore the Viewport and DepthRange functions on 8xx. | Eric Anholt | |
Fixes failed viewport updates on glxgears (and other apps) resize since e41780fedc2c1f22b43118da30a0103fa68b769f. Bug #20473. | |||
2009-05-26 | intel: Override MaxRenderbufferSize with hardware constraints | Chris Wilson | |
Limit the maximum renderbuffer size to 8192 on i965 and to 2048 on earlier hardware. | |||
2009-05-22 | mesa: fix warning message in vbo_exec_DrawRangeElements() | Brian Paul | |
2009-05-22 | mesa: add missing update_min() call in update_arrays() | Brian Paul | |
2009-05-22 | mesa: reduce gl_array_object::VertexAttrib[] array from 32 to 16 elements | Brian Paul | |
This array was mistakenly dimensioned with VERT_ATTRIB_MAX (32) but it should really be MAX_VERTEX_GENERIC_ATTRIBS (16). The generic vertex attributes are in addition to the conventional arrays (except in NV vertex program mode- they alias/overlay in that case) so the total of all conventional attributes plus generic attributes should total 32 (not 48). | |||
2009-05-22 | mesa: use Elements() for loop limit | Brian Paul | |
2009-05-22 | mesa: use Elements() for loop limit | Brian Paul | |
2009-05-22 | mesa: use Elements() for loop limit | Brian Paul | |
2009-05-22 | mesa: use Elements() for loop limit | Brian Paul | |
2009-05-22 | mesa: use Elements() for loop limit | Brian Paul | |
2009-05-22 | mesa: simplify adjust_buffer_object_ref_counts() | Brian Paul | |
2009-05-22 | mesa: minor code clean-up | Brian Paul | |
2009-05-22 | mesa: use Elements() for loop limit | Brian Paul | |
2009-05-22 | vbo: s/32/VERT_ATTRIB_MAX/ | Brian Paul | |
2009-05-22 | mesa: use Elements() for loop bound | Brian Paul | |
2009-05-22 | mesa: minor code simplification | Brian Paul | |
2009-05-22 | Merge branch 'mesa_7_5_branch' | Brian Paul | |
2009-05-22 | mesa: fix loop over generic attribs in update_arrays() | Brian Paul | |
2009-05-22 | vbo: asst. reformatting, clean-ups | Brian Paul | |
2009-05-22 | Merge branch 'mesa_7_5_branch' | Brian Paul | |
2009-05-22 | vbo: fix crash in vbo_exec_bind_arrays() | Brian Paul | |
When a vertex shader uses generic vertex attribute 0, but not gl_Vertex, we need to set attribute[16] to point to attribute[0]. We were setting the attribute size, but not the pointer. Fixes crash in glsl/multitex.c when using the VertCoord attribute instead of gl_Vertex. | |||
2009-05-22 | demos: extend glsl/multitex.c to use a vertex buffer object | Brian Paul | |
2009-05-22 | demos/util: add funcs for GL_ARB_buffer_object | Brian Paul | |