Age | Commit message (Collapse) | Author |
|
(same as for generic attribs for nv vp is already done). Since the requested stride is 16, otherwise the code would end up doing lots of unnecessary import work (in doom3, trans_4_GLfloat_4f_raw caused by that was by far the single most time-consuming function in the r200 driver, not importing the disabled arrays caused the cpu time spent in the driver to drop from 45% to 30%, though real-world gain was pretty minimal as it's not really cpu bound here in the first place).
|
|
|
|
position invariant.
|
|
|
|
|
|
programs (fixes a segfault since the result of the shift is undefined otherwise, and it may happen that _TNL_ATTRIB_POINTSIZE will be tried to read, unlike all other attribs this however may be unitialized (might be a bug in itself)).
|
|
|
|
we're in GL_COMPILE_AND_EXECUTE mode.
This fixes bug 7984.
|
|
|
|
|
|
|
|
|
|
"gl_" to match other structs.
|
|
|
|
There's only 16 evaluator maps. Define new _TNL_NUM_EVAL constant for
those loops.
Also, fix priority of GL_NV_vertex_program generic maps - they override the
conventional maps.
See bug 7564.
|
|
|
|
Make attr_type into a top-level type: tnl_attr_type
See bug 7340.
|
|
|
|
just aliases for members of the VB->AttribPtr[] array.
Begin replacing FogCoordPtr with VB->AttribPtr[_TNL_ATTRIB_FOG], and similarly
for NormalPtr, TexCoordPtr, PointSizePtr, etc.
|
|
|
|
|
|
|
|
|
|
|
|
conventional arrays.
Typo: s/writeable/writable/
|
|
|
|
|
|
and demos are also added.
Adding basic support to drivers should be as easy as just enabling the
extension, though thorough test would also be required.
|
|
|
|
ctx->_MaintainTnlProgram is set
|
|
instruction, extend the 2 bit rsw field to 3 bit like used in other places. While here, also fix up rsw (negation), dph and try to fix up rsq with negative values (doesn't work, bug seems elsewhere) in the sse codegen code.
|
|
|
|
|
|
|
|
|
|
Update a lot of loops, conditionals to use the _TNL_FIRST/LAST_* values
instead of specific vertex attributes.
Remove the EdgeFlagv function from the GLvertexformat struct.
|
|
GL_ARB_vertex_program.
|
|
New doxygen comments, misc clean-ups.
|
|
of requesting executable stacks.
|
|
in various places.
Note that ctx->Texture.CurrentUnit needs to be tested against Coord/Image
limits when referenced, not just in glActiveTexture().
|
|
|
|
- use macros to access and modify render inputs bit-field;
- un-alias generic vertex attributes for ARB vertex calls;
- use MAX_VERTEX_PROGRAM_ATTRIBS (NV code) or MAX_VERTEX_ATTRIBS
(ARB code) in place of VERT_ATTRIB_MAX;
- define VERT_ATTRIB_GENERIC0..15 for un-aliased vertex
attributes for ARB_vertex_shader;
- fix generic attribute index range check in arbprogparse.c;
- interface GLSL varyings between vertex and fragment shader;
- use 64-bit optimised bitset (bitset.h) for render inputs;
|
|
only includes the 6 frustum bits, not the user-clip plane bit, nor the vertex
cull bit.
|
|
This fix is to discard the line if both dot products are negative.
|
|
be _TNL_ATTRIB_MAX long so that's not a valid index (woo zero based
indexing).
This code still looks wrong though, the asymmetry between _tnl_copy_to_current
and _tnl_copy_from_current has me worried.
|
|
- generate error on NULL pointers in glShaderSourceARB;
- reinstall program object, if current, in glLinkProgramARB;
- vertex and fragment shaders are optional in program object;
- floor asm was wrongly computed for x86 back-end;
- allow for (void) idiom in function prototypes;
- all fixed-state uniforms are updated;
- local variable initializers are working;
- implement texture* and shadow* functions for vertex processor;
- generate error if too many arguments in general constructor;
- trim unused data in general constructor;
- struct r-value field select was badly relocated;
Changes:
- add derived state gl_fog_attrib::_Scale;
- add derived state gl_light::_CosCutoffNeg;
|
|
|
|
|
|
- add x86 code generator;
- add full support for uniforms in ARB_shader_objects;
- add assembly instruction: global_addr;
- reorganize #includes;
- built-in uniforms accessed by index, rather than by name;
- add some entries to x86sse rtasm;
- add configurations to VC6 projects: 'Release x86' and 'Debug x86';
- #define SLANG_X86 active only on VC6 x86 builds;
- introduce code export table for a shader;
- remove GNU license from the noise library;
|
|
|