summaryrefslogtreecommitdiff
path: root/src/mesa/main/mtypes.h
AgeCommit message (Collapse)Author
2006-11-02merge current trunk into vbo branchAlan Hourihane
2006-10-30Move edgeflag into the VERT_ATTRIB_SEVEN slot. This means that ourKeith Whitwell
NV_vertex_program implementation has slightly incorrect aliasing behaviour. I think this is reasonable given the simplification and the fact that the mainstream ARB_vp continues to have the correct behaviour.
2006-10-30better handling of current attributes. Trivial dlist and varray tests workKeith Whitwell
2006-10-22Color clamping fixes.Brian Paul
2006-10-17Move struct atifs_machine into s_atifragshader.cBrian Paul
Add support for runtime colorbuffer types.
2006-10-13Revamp color table code.Brian Paul
Always store all color tables as both float and ubyte.
2006-10-10a step toward moving run-time vertex program state out of GLcontextBrian Paul
2006-10-10Move the fp_machine struct into s_nvfragmprog.c since (except for programBrian Paul
debug) it's only used there.
2006-08-15Add support for GL_EXT_gpu_program_parameters. Any driver that enablesIan Romanick
either GL_ARB_vertex_program or GL_ARB_fragment_program should enable this extension as well.
2006-08-09Add PROGRAM_FILE_MAX for i965 driver.Eric Anholt
While here, make PROGRAM_UNDEFINED just the next value in the enum.
2006-08-03Initial work for GL_EXT_texture_sRGB.Brian Paul
2006-07-20Some structure renaming. Prefix vertex/fragment-related structs withBrian Paul
"gl_" to match other structs.
2006-06-15comments for gl_array_object structBrian Paul
2006-06-12Add support for GL_APPLE_vertex_array_object. Several test programsIan Romanick
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.
2006-05-23Add const qualifiers in a number of places.Brian Paul
2006-05-22memory usage fixes for glean/conform, use a better hash functionKeith Whitwell
2006-05-22Better caching for texenv programs.Keith Whitwell
Initialize some values correctly.
2006-05-20In gl_texture_image, replace ImageStride with an ImageOffsets array.Brian Paul
Some hardware lays out 3D mipmaps in a manner that can't be expressed with a simple image stride. The ImageOffsets array is allocated and initialized to typical defaults in the _mesa_init_teximage_fields() function. If needed, a driver will then have to replace these offsets. TexStore and TexelFetch routines updated to use offsets array.
2006-05-05Define VERT_RESULT_EDGEKeith Whitwell
2006-04-25Put color index attribute into the 6th attribute slot.Brian Paul
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.
2006-04-25No longer alias generic vertex attribs with conventional attribs for ↵Brian Paul
GL_ARB_vertex_program.
2006-04-14Replace ctx->Const.MaxTextureUnits w/ ctx->Const.MaxTexture[Coord/Image]UnitsBrian Paul
in various places. Note that ctx->Texture.CurrentUnit needs to be tested against Coord/Image limits when referenced, not just in glActiveTexture().
2006-04-13Fix comment about MaxTextureUnits, needs to be min of coord and image units.Brian Paul
See bug 5994. Also add a few assertions. Use MaxTextureUnits in get.c code. There's probably other places where we need to clean-up the usage of the MaxTexture[Coord/Image]Units constants.
2006-04-11More GLSL code:Michal Krol
- 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;
2006-03-29 Committing in .Jouk Jansen
Removing <CR> Modified Files: Mesa/src/mesa/main/fog.c Mesa/src/mesa/main/hint.c Mesa/src/mesa/main/mtypes.h ----------------------------------------------------------------------
2006-03-29Move the computation of the viewport matrix into a new update_viewport_matrix()Brian Paul
function since the matrix depends on the viewport params and the framebuffer's depth buffer resolution. Fixes some renderbuffer / depth range issues. This simplifies the _mesa_set_viewport() and _mesa_DepthRange() functions too.
2006-03-28updated comment about framebuffer's Visual fieldBrian Paul
2006-03-26merge from texman branchBrian Paul
2006-03-21GLSL fixes:Michal Krol
- 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;
2006-03-03Use standard ARB names instead of vendor-specific NV names for the ↵Roland Scheidegger
ARB/NV_vertex_program enums in common state handling code, and update comments accordingly. Change some slightly confusing code which gave the impression GL_VERTEX_PROGRAM_ARB and GL_VERTEX_PROGRAM_NV enums were different.
2006-02-13Rename current glsl program variable.Michal Krol
2005-12-14Removed the GL_SGIX/SGIS_pixel_texture extensions. Same thing can beBrian Paul
done with fragment programs nowadays.
2005-12-12Split _MaintainTexEnvProgram into two flags _Maintain and _Use. ThisKeith Whitwell
restores the ability to run the software driver with program TNL but tradtional swrast.
2005-12-07Updates for GL_EXT_timer_query:Brian Paul
New GLint64EXT and GLuint64EXT types (use C99's long long types). New glGetQueryObject[u]i64vEXT() functions.
2005-11-19No longer derive 'ati_fragment_shader' from 'program' class. Only theBrian Paul
program->Id and program->RefCount fields were used and ATI fragment shaders didn't have too much in common with ARB/NV vertex/fragment programs anyway.
2005-11-19move a bunch of gl2/shading language structs from mtypes.h to shaderobjects.hBrian Paul
2005-11-16Support for combined depth/stencil renderbuffers (GL_EXT_packed_depth_stencil).Brian Paul
depthstencil.c provides wrappers for treating depth/stencil buffers either as regular depth or stencil renderbuffers.
2005-11-12Added OSMesaColorClamp(), bug 4917Brian Paul
2005-11-12Move stuff common to vertex/fragment_program into the base class, including:Brian Paul
Instructions, InputsRead, OutputsWritten, and Parameters. Also, added debug functions: _mesa_print_instruction(), _mesa_print_program_parameters() and revamp _mesa_print_program().
2005-11-10Move code to enable FP exceptions into debug.c (set MESA_DEBUG=fpexceptions).Brian Paul
Get rid of MESA_DEBUG preprocessor symbol, just use DEBUG instead.
2005-11-08At keithw's request, remove all traces of the "fragment program to C" andIan Romanick
TCC experiment.
2005-11-08some initial work on upcoming GL_EXT_framebuffer_blit extensionBrian Paul
2005-11-05Unify vertex/fragment program instuctions.Brian Paul
Based on patch by Ian (#4967) but also unify instruction opcodes.
2005-11-05Replace parameter_type enum in program.[ch], use register_file enums instead.Brian Paul
2005-11-02Rename FRAG_OUTPUT_* tokens to FRAG_RESULT_* to match vertex program conventionBrian Paul
2005-11-01Several fp and vp tweaks:Keith Whitwell
- Renumber VERT_RESULT_* values so that they match the numbers of the corresponding FRAG_ATTRIB_ values. - Add ctx->VertexProgram._Current and FragmentProgram._Current values which point to either the current client-supplied program if enabled, or otherwise to the current mesa-internal program. Thus this program is always the correct one for the current state, providing that the mesa flags to turn on automatic generation are enabled. - Add callbacks to ctx->Driver.BindProgram() in texenvprogram.c and t_vp_build.c so that the driver knows when the generated program changes. This is cleaner than trying to code all the possible _NEW_* flags into the driver, and more precise as well. - Add a UsesKill flag to identify fragment programs with that instruction, as these can require special treatment. - Move the FRAG_OUTPUT values to mtypes.h, near to similar defn's.
2005-11-01Re-org and clean-up of vertx/fragment program limits (instructions,Brian Paul
temporaries, parameters, etc). glGetProgramivARB() now returns all the right things. Updated i915 and r300 code to initialize program native limits and current program's native instruction/temporary/etc counts.
2005-10-29clean-up commentsBrian Paul
2005-10-05Remove _IsPowerOfTwo from gl_texture_object, not really needed.Brian Paul
2005-10-05s/IntFormat/InternalFormat/ and s/Format/_BaseFormat/ for gl_color_table.Brian Paul