summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2008-10-06mesa: adjust texcoords for swrast sprite points.Brian Paul
Fixes glean pointSprite test w/ software rendering
2008-10-06mesa: updated _mesa_delete_query() commentsBrian Paul
2008-10-06mesa: add missing GLcontext param to _mesa_delete_query().Brian Paul
Fixes vtk crash and others.
2008-10-06mesa: add missing GLcontext param to _mesa_delete_query().Brian Paul
Fixes vtk crash and others.
2008-10-06draw: Fix compiler errors on Windows.Michal Krol
2008-10-06rtasm: fix debug buildKeith Whitwell
2008-10-06make draw's vertex_info struct smaller/quicker to compare with memcmp()Keith Whitwell
2008-10-04i915: Refine the texture indirect lookup accounting.Eric Anholt
Without this, we would reject programs which sampled multiple times from registers defined in the same phase (block of instructions with the same texture indirection count), as each sample would count as a new phase beginning. Instead, keep track of which phases registers were written in, and only bump phase when we're reading from one generated in this phase. On the other hand, we failed to count oC or oD texture samples as being new phases. Bug #17865.
2008-10-04mesa: handle vertex program enabled case also in texenvprogram.cKeith Whitwell
2008-10-03CELL: changes to generate SPU code for stencilingRobert Ellison
This set of code changes are for stencil code generation support. Both one-sided and two-sided stenciling are supported. In addition to the raw code generation changes, these changes had to be made elsewhere in the system: - Added new "register set" feature to the SPE assembly generation. A "register set" is a way to allocate multiple registers and free them all at the same time, delegating register allocation management to the spe_function unit. It's quite useful in complex register allocation schemes (like stenciling). - Added and improved SPE macro calculations. These are operations between registers and unsigned integer immediates. In many cases, the calculation can be performed with a single instruction; the macros will generate the single instruction if possible, or generate a register load and register-to-register operation if not. These macro functions are: spe_load_uint() (which has new ways to load a value in a single instruction), spe_and_uint(), spe_xor_uint(), spe_compare_equal_uint(), and spe_compare_greater_uint(). - Added facing to fragment generation. While rendering, the rasterizer needs to be able to determine front- and back-facing fragments, in order to correctly apply two-sided stencil. That requires these changes: - Added front_winding field to the cell_command_render block, so that the state tracker could communicate to the rasterizer what it considered to be the front-facing direction. - Added fragment facing as an input to the fragment function. - Calculated facing is passed during emit_quad().
2008-10-03intel: Don't advertise unsupported extensions on pre-965 hardwareIan Romanick
Move GL_ARB_texture_non_power_of_two and GL_ATI_separate_stencil from the generic extension list to the 965-specific list. Neither extension is supported on i830-class hardware, and GL_ATI_separate_stencil is not supported on i915-class hardare. GL_ARB_texture_non_power_of_two is supported on i915-class hardare and is already in the i915-specific list.
2008-10-03mesa: avoid generating constant vertex attributes in fixedfunc programsKeith Whitwell
Keep track of enabled/active vertex attributes. Keep track of potential vertex program outputs. When generating fragment program, replace references to fragment attributes which are effectively non-varying and non-computed passthrough attributes with references to the new CURRENT_ATTRIB tracked state value. Only downside is slight ugliness in VBO code where we need to validate state twice in succession.
2008-10-03Mesa: short-circuit case when looking up the same program twice in cacheKeith Whitwell
2008-10-03mesa: add new internal state for tracking current vertex attribsKeith Whitwell
2008-10-03mesa: add missing state dependencies for various tracked constantsKeith Whitwell
2008-10-03mesa: shrink texenvprogram state key structKeith Whitwell
2008-10-03rtasm: add sse_movntpsKeith Whitwell
2008-10-02draw: modify prefetching slightlyKeith Whitwell
2008-10-02draw: don't keep refetching constant inputsKeith Whitwell
2008-10-02rtasm: add prefetch instructionsKeith Whitwell
2008-10-02draw: add streamlined paths for fetching linear vertsKeith Whitwell
2008-10-02mesa: Fix compiler warnings on Windows.Michal Krol
2008-10-02Gallivm: add slt. glxgears should be running, except it isn't.Stephane Marchesin
2008-10-02Gallivm: port to llvm 2.4.Stephane Marchesin
2008-10-02Gallivm: fix off-by-one.Stephane Marchesin
2008-10-02Gallivm: more instructions.Stephane Marchesin
2008-10-02Gallivm: make it compile again, add some opcodes.Stephane Marchesin
2008-10-02mesa: fix temp register allocation problems.Brian Paul
Complex texcombine modes were running out of registers (>32 registers for 8 tex units).
2008-10-02egl: check for null ptr/nameBrian Paul
2008-10-02egl: remove space after -L flagBrian Paul
2008-10-02draw: modify prefetching slightlyKeith Whitwell
2008-10-02draw: don't keep refetching constant inputsKeith Whitwell
2008-10-02rtasm: add prefetch instructionsKeith Whitwell
2008-10-02draw: add streamlined paths for fetching linear vertsKeith Whitwell
2008-10-01Unify ARB_depth_texture and SGIX_depth_textureIan Romanick
The ARB extension is a superset of the older SGIX extension. Any hardware that can support the SGIX version can also support the ARB version. In Mesa, any driver that supports one also supports the other. This unification just simplifies some bits of code.
2008-10-01i965: sampler default color ends up in texture cache, not instructions.Eric Anholt
See volume 4, SAMPLER_BORDER_COLOR_STATE programming notes.
2008-10-01i965: Fix overwriting of depth override for SetTexOffset.Eric Anholt
Fixes black borders around windows in compiz. Bug #17233.
2008-10-01mesa: Fix compiler warnings on Windows.Michal Krol
2008-10-01util: No-op u_sse.h outside PIPE_ARCH_X86/X86_64.José Fonseca
2008-10-01tgsi: Include p_config.h.José Fonseca
2008-10-01Gallivm: add slt. glxgears should be running, except it isn't.Stephane Marchesin
2008-09-30cell: Fixed usage of MAX_INSTRUCTIONS to use new MAX_PROGRAM_INSTRUCTIONS ↵Jonathan White
instead of old MAX_NV_XXX definitions in order to allow Cell TGSI fragment program generator to work again.
2008-09-30cell: Moved X86 checks to wrap #include section so that Cell targets will ↵Jonathan White
compile again.
2008-09-30Gallivm: port to llvm 2.4.Stephane Marchesin
2008-10-01util: Fix util_fast_pow/exp2/log2.José Fonseca
- Use a lookup table for log2. - Compute (float) (1 << ipart) by tweaking with the exponent directly to avoid integer overflow and float conversion. - Also table negative exponents to avoid float division and branching. - Implement util_fast_exp as function of util_fast_exp2.
2008-09-29intel: Clean-up the extension string madness!Ian Romanick
- Sort extensions by ARB, then EXT, then vendor by name - Remove redundant (only one of GL_{ARB,EXT,NV}_texture_rectangle) or duplicate extension strings
2008-09-29GLSL: Implement GL_OBJECT_TYPE_ARB queryIan Romanick
The GL_OBJECT_TYPE_ARB query is handled directly in _mesa_GetObjectParamterivARB because it is only supported in the extension version of the shanding language API. glGetProgramiv and glGetShaderiv should not accept this enum.
2008-09-29GLSL: Implement _mesa_get_handleIan Romanick
Implementing _mesa_get_handle in using glGetIntegerv(GL_CURRENT_PROGRAM, ...) allows glGetHandleARB to work.
2008-09-29GLSL: AttachShader returns INVALID_OPERATION for repeated attachIan Romanick
The GL_ARB_shader_objects spec says that glAttachShaderARB is supposed to return GL_INVALID_OPERATION if a shader is attached to a program where it is already attached. _mesa_attach_shader perviously returned without error in this case.
2008-09-30tgsi: SSE2 optimized exp2, log2 and pow implementations.José Fonseca
Special care must be taken when calling compiler generated SSE2 functions from the runtime generated SSE2: saving the xmm registers, and notify gcc the stack is not 16byte aligned. It would be more efficient to keep the stack pointer 16byte aligned, but too hairy, and not consistent in all x86 architectures. This has been tested in linux x86 and windows x86 userspace. Not tested on x86-64 because it is broken for other reasons (even without this change).