summaryrefslogtreecommitdiff
path: root/src/mesa/main/texenvprogram.c
AgeCommit message (Collapse)Author
2009-01-23mesa: updated fragment shader codegen for GL_NV_texture_env_combine4Brian Paul
Expand struct fields, increase loops and handle new 4-term ADD modes. Plus, some new assertions to catch switch/default cases that may be incorrect.
2008-12-31mesa: increase max texture image units and GLSL samplers to 16Brian Paul
The max texture coord units is still 8. All the fixed-function paths are still limited to 8 too. But GLSL shaders can use more samplers now. Note that some texcoord-related data structures are declared to be 16 elements in size rather than 8. This just simplifies the code in a few places; the extra elements aren't accessible to the user. These changes haven't been extensively tested yet, but sanity checking has been done. It should be possible to increase the max image units/samplers to 32 without doing anything special. Beyond that we'll need longer bitfields in a few places.
2008-11-20mesa: fix shadow sampling unit issue.Xiang, Haihao
texture comparison logic is bypassed if the currently bound texture is not a depth/depth_stencil texture.
2008-09-24set SamplerUnit[] entry in load_texture() just to be safeBrian
(cherry picked from commit fce4612f8a29ee1798c9326a431a139d856c7a04)
2008-09-24use PROGRAM_CONSTANT instead of PROGRAM_STATE_VAR when generating ↵Brian
immediates/literals (cherry picked from commit fdc8636bdc65deb0d95a62a51c8d9bca05bc6bb8)
2008-09-24set program->SamplersUsed bit when using a texture instructionBrian
2008-09-24Remove ctx field from texenvprog_cacheBrian
2008-09-24include programopt.hBrian
(cherry picked from commit 83fad68ec1989c719646a76f4cc5e0b3d23537ed)
2008-09-24Disable vertex shader fog, compute fog in fragment shader.Brian
2008-09-24temporarily set the FRAG_BIT_FOGC bit in InputsRead when fog is enabledBrian
(cherry picked from commit 63be96bdc7e9f388a5c49295bd7e150462fd003a)
2008-09-23mesa: Apply MSVC portability fixes from Alan Hourihane.José Fonseca
2008-09-21mesa: move fixed function vertex program builder from tnl to core mesaKeith Whitwell
Also unify caching of fragment and vertex programs in shader/prog_cache.c` Brought across from gallium-0.2
2008-06-14texenvprogram: Mark textures using ARB_shadow as ShadowSamplersNicolai Haehnle
Since ARB_fragment_program and friends are defined to ignore the setting of the GL_TEXTURE_COMPARE_FUNC parameter, we have to explicitly enable the shadow comparison by marking the texture unit in ShadowSamplers when appropriate.
2008-06-02[texenvprogram] Fix refcounting-related memory leak.Nicolai Haehnle
All newly created programs have RefCount == 1, but the fragment program cache added an additional reference in cache_item, with the result being that none of the programs were ever freed. Solve the problem by not creating the additional reference in cache_item.
2008-05-07fix refcounting bugs in tnl/tex program cachesBrian Paul
2008-03-09replace // comment with /* */ (bug 14916)Brian
2008-02-29i965: use _Current pointer instead of Current pointer.Xiang, Haihao
fix double free issue(bug#14710). It also corrects glsl/bitmap demo behavior.
2008-02-15fix bug with generated fragment programs if vertex shader is activeRoland Scheidegger
When generating a fragment program from fixed function, checking texUnit->_ReallyEnabled is not sufficient, need texUnit->Enabled too since the former also represents texture enables from an active vertex shader.
2007-10-26Merge branch '965-glsl'Zou Nan hai
Conflicts: src/mesa/drivers/dri/i965/brw_sf.h src/mesa/drivers/dri/i965/intel_context.c
2007-10-23properly init dst reg's CondMask/Swizzle fieldsBrian
2007-10-23bump up MAX_INSTRUCTIONS and add an assertion to catch emitting too many ↵Brian
instructions
2007-10-08 Only vertex program fix, bypass tnl vertex programZou Nan hai
2007-08-17Brian's fix for bug9829Xiang, Haihao
2007-07-04Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian
of -I flags.
2007-07-03fix GL_DOT3_RGBA texture combiner mode in generated fragment programs (bug ↵Roland Scheidegger
#11030)
2007-03-26merge of glsl-compiler-1 branchBrian
2007-03-22use _mesa_copy_instructions()Brian
2007-02-24Undo some changes to _mesa_UpdateTexEnvProgram(). Fixes broken i915 texturing.Brian
2007-02-23s/GLint/gl_state_index/, length is now 5 not 6Brian
2007-01-23fix g++ warnings/errorsBrian
2007-01-23fixes for C++ warnings/errorsBrian
2007-01-09Moved NumTexInstructions, NumTexIndirections, etc. into gl_program sinceBrian
they can now apply to vertex programs.
2006-12-15Lots of assorted changes for new GLSL compiler backend.Brian
New datatypes, constants, variables.
2006-11-15Add a size parameter to _mesa_add_unnamed_constant() andBrian Paul
_mesa_add_named_constant() to indicate vector size (1, 2, 3 or 4). Always 4 for now...
2006-10-30remove debug codeBrian Paul
2006-10-29Rather than always allocating 100 instructions, put instructions into aBrian Paul
temporary buffer, then copy into a malloc'd array of the correct size. According to Glean texCombine, we never need more than 21 instructions.
2006-10-29Change _mesa_init_instruction() to initialize an array of instructions.Brian Paul
2006-08-10Fix some breakage after the PROGRAM_UNDEFINED changeAlan Hourihane
2006-07-20Some structure renaming. Prefix vertex/fragment-related structs withBrian Paul
"gl_" to match other structs.
2006-05-30remove redundant 'const'Brian Paul
2006-05-23Add const qualifiers in a number of places.Brian Paul
2006-05-23In cache_item(), there was sizeof(void) expression.Brian Paul
Replace void *key parameter with const struct state_key *
2006-05-22memory usage fixes for glean/conform, use a better hash functionKeith Whitwell
2006-05-22Fix typoKeith Whitwell
2006-05-22Better caching for texenv programs.Keith Whitwell
Initialize some values correctly.
2006-04-13casts to fix some -pedantic warningsBrian Paul
2006-03-28fix #6072 (Keith Whitwell)Aapo Tahkola
2006-01-24fix using a tmp without asking for oneJerome Glisse
2006-01-24fix broken get_half & get_zeroAapo Tahkola
2005-12-14use GLbitfield instead of GLuintBrian Paul