Commit Graph

10400 Commits

Author SHA1 Message Date
Nicolai Haehnle 03abd021f2 r300: Translate fragment program LRP in radeon_program_alu.c 2008-07-06 10:00:35 +02:00
Nicolai Haehnle 62bccd6df0 r300: Allow adding parameters during fragprog transform, share LIT code 2008-07-06 09:59:43 +02:00
Nicolai Haehnle 77fdfaa23a r300: Correctly scan for used temporary registers
This fixes a regression introduced by dea8719f0...
2008-07-05 20:01:20 +02:00
Nicolai Haehnle 364d45a3e1 r500: Major refactoring of fragment program emit
Use the common facilities to convert non-native instructions into native ones.
Worked hard to make the code easier to read (hopefully), by using helper
functions instead of direct manipulation of the machine code.
Fixes two bugs related to FLR and XPD.
2008-07-05 18:04:10 +02:00
Nicolai Haehnle dea8719f00 r300: Remove clause stuff for now in favour of a cloned generic gl_program 2008-07-05 18:04:10 +02:00
Nicolai Haehnle 85b46fbe9c r500_fragprog: Cleanup some unused variables and code. 2008-07-05 18:04:10 +02:00
Nicolai Haehnle 13c44679ad r500: Fix a mixup in fragment program LRP instruction emit 2008-07-05 18:04:10 +02:00
Nicolai Haehnle 09e587fcf3 r500: Fix blend color. 2008-07-05 18:04:09 +02:00
Nicolai Haehnle 82635aad42 _mesa_clone_program: Copy ShadowSamplers 2008-07-05 18:04:04 +02:00
Nicolai Haehnle e187627c1d r300: Fix depth texture in compare mode
Missed the homogenous divide of R by Q before...
2008-07-04 18:22:16 +02:00
Nicolai Haehnle 845e3f701d Enable TexGen based on InputsRead when a fragment program is active
The old behaviour depended on which texture images the fragment program
reads from, which seems to contradict the shader specifications.

Note: Piglit's general/texgen test checks for this problem.
2008-07-04 18:22:15 +02:00
Brian Paul e06565b103 mesa: generate GL_INVALID_OPERATION in _mesa_get_uniform_location() if program isn't linked 2008-07-04 10:04:03 -06:00
Brian Paul b931a0c1d9 mesa: remove incorrect assertion 2008-07-04 10:04:03 -06:00
Alan Hourihane 9157b1e09a glcontextmodes.c is required remove the reference in .gitignore 2008-07-04 13:54:49 +01:00
Xiang, Haihao 0c1e96e6d3 mesa: fix polygon offset issue (bug #12061) 2008-07-04 09:53:51 +08:00
Brian Paul 530df581dd mesa: fix various error codes 2008-07-03 16:21:11 -06:00
Brian Paul 011185396b mesa: fix some error codes in _mesa_ShaderSourceARB() 2008-07-03 16:02:05 -06:00
Brian Paul 3dc6591a7c mesa: fix problem freeing framebuffer/renderbuffer objects
Basically, set up no-op Delete() methods for the DummyFrame/Renderbuffer objects.
2008-07-03 15:40:38 -06:00
Brian Paul 7acb7c1ac0 mesa: additional error checking, fix error codes 2008-07-03 13:49:48 -06:00
Brian Paul d866cb3712 mesa: regenerated file 2008-07-03 13:24:28 -06:00
Brian Paul 7f4f2ac39d mesa: additional vec4 constructor 2008-07-03 13:24:19 -06:00
Brian Paul 6e46c121f9 mesa: fix array storage allocation bug 2008-07-03 13:05:28 -06:00
Brian Paul 1dc20c7916 mesa: fix incorrect array size, added assertion 2008-07-03 13:03:35 -06:00
Brian Paul b3e1f9bd52 mesa: fix vertex array validation test for attribute 0 (vert pos)
We don't actually need vertex array[0] enabled when using a vertex
program/shader.
2008-07-02 19:17:11 -06:00
Brian Paul 1726b7d1d3 mesa: when linking a shader program, make sure all the shaders compiled OK 2008-07-02 16:51:49 -06:00
Brian Paul cb79c5c7c6 mesa: added some debug code (disabled) 2008-07-02 16:50:52 -06:00
Brian Paul 36a5826411 mesa: fix error codes in _mesa_shader_source(), _mesa_get_shader_source()
If the 'shader' parameter is wrong, need to either generate GL_INVALID_VALUE
or GL_INVALID_OPERATION.  It depends on whether 'shader' actually names a
'program' or is a totally unknown ID.
There might be other cases to fix...
2008-07-02 16:40:24 -06:00
Brian Paul a405d69063 mesa: regenerated 2008-07-02 16:39:48 -06:00
Brian Paul a2cddf58d2 mesa: added some missing equal() notEqual() intrinsics 2008-07-02 16:39:26 -06:00
Brian Paul 918f3b17e5 mesa: regenerated files 2008-07-02 12:38:48 -06:00
Brian Paul 18adc71822 mesa: fix all(bvec2) function typo, add missing bvec2/3/4() constuctors 2008-07-02 12:38:48 -06:00
Roland Scheidegger 5ef4e4ffb8 mesa: fix issues around multisample enable
multisample enable is enabled by default, however gl mandates multisample
rendering rules only apply if there's also a multisampled buffer.
2008-07-02 20:21:06 +02:00
Brian Paul 6befdca6a3 generate a link error if the vertex shader references too many textures 2008-07-02 09:16:10 -06:00
Brian Paul 43346fb1fb set ctx->Const.MaxVertexTextureImageUnits = 0
This disallows vertex shader texture sampling.  See bugs 16157, 13838.
2008-07-02 09:14:53 -06:00
Ian Romanick ea190fe050 VBO: Regenerate files based on recent changes to gl_API.xml
Since GL_ARB_vertex_buffer_object protocol isn't supported yet, these
changes are innocuous.
2008-07-02 06:26:11 -07:00
Paulo Cesar Pereira de Andrade abd71144f0 Bring over commit 8d4d0b47a07a298a20ffae9fefe96c8c7ca9dccc from xserver tree 2008-07-02 06:22:47 -07:00
Ian Romanick 21e0d47514 VBO: Add missing functions related to VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 2008-07-01 19:30:32 -07:00
Ian Romanick c52d6ad465 VBO: add GLX related annotations 2008-07-01 18:20:21 -07:00
Brian Paul 028739faed mesa: fix a GLSL vector subscript/writemask bug
This fixes a failure for cases like:
   vec4 v;
   v[1] *= 2.0;

The v[1] actually acts like a writemask, equivalent to v.y
The fix is a bit convoluted, but will do for now.
2008-07-01 17:59:07 -06:00
Brian Paul e19af171cf mesa: move some functions 2008-07-01 17:52:31 -06:00
Brian Paul 9ae4d778d8 mesa: make _slang_swizzle_swizzle() non-private 2008-07-01 17:50:14 -06:00
Brian Paul 32a5c40336 mesa: better function inlining in the presence of 'return' statements
Before, the presence of a 'return' statement always prevented inlining
a function.  This was because we didn't want to accidentally return from
the _calling_ function.  We still need the semantic of 'return' when inlining
but we can't always use unconditional branches/jumps (GPUs don't always
support arbitrary branching).

Now, we allow inlining functions w/ return if the return is the last
statement in the function.  This fixes the common case of a function
that returns a value, such as:

vec4 square(const in vec4 x)
{
   return x * x;
}

which effectively compiles into:

vec4 square(const in vec4 x)
{
   __retVal = x * x;
   return;
}

The 'return' can be no-op'd now and we can inline the function.
2008-07-01 11:41:21 -06:00
Brian Paul b2247c7d29 mesa: add/fix some IrInfo entries for debugging purposes 2008-07-01 11:41:02 -06:00
Brian Paul 634d2af2b0 init machine->Samplers (fixes vertex program texture fetches) 2008-07-01 08:49:12 -06:00
Dave Airlie d3f7b463c3 dri: drop asserts to make build against stable libdrm
These asserts are of questionable use at the moment with things in flux.
2008-07-01 18:22:12 +10:00
Xiang, Haihao bcc2a3d7e3 dri: Take the base image size into account when computing
first level of the mipmap.  fix #16210
2008-07-01 11:50:50 +08:00
Corbin Simpson bb1744970d r3xx/r5xx: Enable ARB_point_parameters.
This isn't complete yet. It does cover the two most common usage cases,
though, and at least the third one (POINT_DISTANCE_ATTENUATION) is possible,
so I'll do that later.
2008-06-30 11:12:51 -07:00
Nicolai Haehnle 23e9b43ce4 r300: Fix dumb mistake in LOD bias translation 2008-06-30 08:37:37 +02:00
Nicolai Haehnle 4002b75e62 r300: Cleanup LodBias support
. There is both a per-texture unit and a per-texture object (at least for
OpenGL 1.4); this should now be supported properly.
. The LOD bias calculation in r300_state has been simplified and corrected
  (need to multiply by 32 instead of 31, and ensure clamping)
. do not clamp LOD bias in TexEnv, as that behaviour conflicts with what
  the spec says
. set Const.MaxTextureLodBias properly
. remove the no_neg_lod_bias property; if somebody can explain what
  it's good for, we can add it back in, but according to Google, nobody
  seems to use it
. removed some dead code and unused variables
2008-06-30 00:49:00 +02:00
Corbin Simpson a74d22ba71 r300: Change LOD bias emission to more closely follow per-tex rules.
Okay, this time it's for real, and for good. This should be a perma-fix.
2008-06-29 10:32:19 -07:00