summaryrefslogtreecommitdiff
path: root/src/mesa/main
AgeCommit message (Collapse)Author
2010-07-26Merge remote branch 'origin/master' into glsl2Eric Anholt
This pulls in multiple i965 driver fixes which will help ensure better testing coverage during development, and also gets past the conflicts of the src/mesa/shader -> src/mesa/program move. Conflicts: src/mesa/Makefile src/mesa/main/shaderapi.c src/mesa/main/shaderobj.h
2010-07-23mesa: Fix Cygwin build with llvm enabled.Vinson Lee
On Cygwin locale_t in not available but 'llvm-config --cppflags' adds the compiler flag -D_GNU_SOURCE to the build.
2010-07-21linker: Link built-in functions instead of including them in every shaderIan Romanick
This is an invasive set of changes. Each user shader tracks a set of other shaders that contain built-in functions. During compilation, function prototypes are imported from these shaders. During linking, the shaders are linked with these built-in-function shaders just like with any other shader.
2010-07-20mesa: call ctx->Driver.ChooseTextureFormat() only when necessary.Brian Paul
When defining mipmap level 'L' and level L-1 exists and the new level's internalFormat matches level L-1's internalFormat, then use the same hw format. Otherwise, do the regular ctx->Driver.ChooseTextureFormat() call. This avoids a problem where we end up choosing different hw formats for different mipmap levels depending on how the levels are defined (glTexImage vs. glCopyTexImage vs. glGenerateMipmap, etc). The root problem is the ChooseTextureFormat() implementation in some drivers uses the user's glTexImage format/type parameters in the choosing heuristic. Later mipmap levels might be generated with different calls (ex: glCopyTexImage()) so we don't always have format/type info and the driver may choose a different format. For more background info see the July 2010 mesa-dev thread "Bug in _mesa_meta_GenerateMipmap"
2010-07-19linker: Track and validate GLSL versions used in shadersIan Romanick
2010-07-19i915: Ask the compiler to flatten out all the if statements that it can.Eric Anholt
2010-07-16mesa: return retval in _mesa_RenderObjectUnpurgeable()Brian Paul
Found by Vinson with static analysis. NOTE: This is a candidate for the 7.8 branch.
2010-07-15mesa: Add error path in compressed_texture_error_check.Vinson Lee
Add error path for unhandled dimensions in compressed_texture_error_check.
2010-07-14mesa: fix _mesa_Texture/Render/BufferObjectUnpurgeable() return valuesBrian Paul
Fixes piglit object_purgeable-api-pbo, object_purgeable-api-vbo and object_purgeable-api-texture failures with swrast. NOTE: This is a candidate for the 7.8 branch.
2010-07-14mesa: update assertions and fix refcounting in depth/stencil renderbuffer codeBrian Paul
2010-07-14mesa: silence a printf warningBrian Paul
2010-07-13Merge branch 'mesa-2d-registers'Zack Rusin
2010-07-13mesa: s/snprintf/_mesa_snprintf/Vinson Lee
2010-07-10mesa: make uniform work with geometry shadersZack Rusin
2010-07-10mesa: GL_TRIANGLE_STRIP_ADJACENCY_ARB is the last valid primitiveZack Rusin
2010-07-09mesa: Move [UN]CLAMPED_FLOAT_TO_UBYTE from imports.h to macros.h.Vinson Lee
The other similar integer/float conversion macros are in macros.h.
2010-07-08gs: inject const int gl_VerticesIn at link timeZack Rusin
2010-07-07mesa: initial support for new GL 3.0 texture formatsBrian Paul
2010-07-06mesa: Always initialize transform feedback state.Chia-I Wu
Assert ctx->Driver.NewTransformFeedback if the feature is enabled; Use the default callbacks otherwise. The rest of core mesa expects the state to be initialized.
2010-07-05mesa: initial support for unnormalized integer texture formatsBrian Paul
As defined by GL_EXT_texture_integer.
2010-07-03mesa: Fix OpenGL ES-only builds.Chia-I Wu
Check FEATURE_GL in _mesa_init_shader_dispatch and _mesa_init_shader_uniform_dispatch. OpenGL ES can not and does not use _mesa_init_<...>_dispatch. This is supposed to be temporary. Ideally, a more flexible way for initializing dispatch tables should be developed.
2010-07-02mesa: add geometry shader fields to gl_shader_programBrian Paul
These 3 fields are per shader-program. Copy them into the geometry program at link time for convenient access later. Also, add some missing glGetProgramiv() queries.
2010-07-02mesa: fix texenv generation when num color bufs == 0Brian Paul
Before, if there were no color buffers enabled (with glDrawBuffers(GL_NONE)) when the texenv program was generated, we'd emit writes to OUTPUT[1] but the OutputsWritten mask was 0. This inconsistency caused an assertion to fail later in the Mesa->TGSI translation. Fixes fd.o bug 28169 NOTE: this is a candidate for the 7.8 branch (and depends on commit b6b9b17d27c570cc99ae339e595cf2f63ca5e8d7).
2010-07-02mesa: add missing error checks in _mesa_program_parameteri()Brian Paul
2010-07-02main: change some GS field types, added commentsBrian Paul
2010-07-02mesa: make the number of draw buffers part of the texenv program key stateBrian Paul
All the state that effects the program should be in the key. This didn't help with bug 28169 but is a good fix anyway. NOTE: this is a low-priority candidate for the 7.8 branch. In practice, this issue might never be hit.
2010-07-01mesa: extension flags and version testing for GL 3.x featuresBrian Paul
2010-07-01mesa: entrypoints for GL 3.1 primitive restartBrian Paul
2010-07-01mesa: free xform feedback hash tableBrian Paul
2010-06-30linker: Don't dynamically allocate slots for linked shadersIan Romanick
The can be at most one shader per stage. There are currently only two stages. There is zero reason to dynamically size this array.
2010-06-30glsl2: Use Mesa's gl_shader_program instead of our own struct glsl_program.Eric Anholt
This avoids more allocation and shuffling of data around.
2010-06-30glsl2: Move our data from a glsl_shader* on the side to the main gl_shader *.Eric Anholt
This saves recompiling at link time. gl_shader->ir is made a pointer so that we don't have to bring exec_list into mtypes.h.
2010-06-30mesa: Use fpclassify for GL_OES_query_matrix on OpenBSD and NetBSD.Chia-I Wu
Patch from Brad Smith <brad@comstyle.com> The attached patch allows the GL_OES_query_matrix function to use the systems fpclassify() for OpenBSD and NetBSD.
2010-06-28mesa: initial support for ARB_geometry_shader4Zack Rusin
laying down the foundation for everything and implementing most of the stuff. linking, gl_VerticesIn and multidimensional inputs are left.
2010-06-26mesa: Remove unnecessary header.Vinson Lee
2010-06-25mesa: initialize extension string when context is first boundBrian Paul
...instead of waiting until glGetString(GL_EXTENSIONS) is called. This fixes a problem where the MESA_EXTENSION_OVERRIDE env var is ignored if the app never calls glGetString(GL_EXTENSIONS). NOTE: this is a candidate patch for the 7.8 branch.
2010-06-23Merge branch 'shader-file-reorg'Brian Paul
1. Move all GL entrypoint functions and files into src/mesa/main/ This includes the ARB vp/vp, NV vp/fp, ATI fragshader and GLSL bits that were in src/mesa/shader/ 2. Move src/mesa/shader/slang/ to src/mesa/slang/ to reduce the tree depth 3. Rename src/mesa/shader/ to src/mesa/program/ since all the remaining files are concerned with GPU programs. 4. Misc code refactoring. In particular, I got rid of most of the GLSL-related ctx->Driver hook functions. None of the drivers used them. Conflicts: src/mesa/drivers/dri/i965/brw_context.c
2010-06-22mesa: fix attachment error checking for glGetFramebufferAttachmentParameteriv()Brian Paul
This is a follow-on to commit 80dfec3e53fd5b5c8c31fb16376c9910258c91b0. The valid attachments for glGetFramebufferAttachmentParameteriv() depends on whether we're querying the default FBO or a user-created FBO.
2010-06-23mesa: fix assertion failure for GL_ALPHA FBOsMarek Olšák
2010-06-15mesa: Allow querying the system FBO in GetFramebufferAttachmentParameterivKristian Høgsberg
If the default framebuffer is bound to <target>, then <attachment> must be one of FRONT_LEFT, FRONT_RIGHT, BACK_LEFT, BACK_RIGHT, AUXi, DEPTH_BUFFER, or STENCIL_BUFFER, identifying a color buffer, the depth buffer, or the stencil buffer, and <pname> may be FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE or FRAMEBUFFER_ATTACHMENT_OBJECT_NAME. as well as these <pname> values FRAMEBUFFER_ATTACHMENT_RED_SIZE, FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE, FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE, or FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING. https://bugs.freedesktop.org/show_bug.cgi?id=28551
2010-06-10mesa: rename src/mesa/shader/ to src/mesa/program/Brian Paul
2010-06-10mesa: move shader/slang/* sources to main/slang/*Brian Paul
Reduce the source tree depth a bit.
2010-06-10mesa: move nvprogram.[ch] to main/Brian Paul
2010-06-10mesa: move arbprogram.[ch] to main/Brian Paul
2010-06-10mesa: move atifragshader.[ch] to main/Brian Paul
2010-06-10mesa: move uniforms.c to main/Brian Paul
2010-06-10mesa: refactor shader api / object codeBrian Paul
Remove the unneeded ctx->Driver hooks for shader-related functions. Move state and API-related things into main/.
2010-06-10mesa: Allow GL_ALPHA FBOs with ARB_framebuffer_object.Eric Anholt
Drivers still reject them today, but cairo would like to use these.
2010-06-05mesa: add ARB_texture_swizzle as alias of EXT_texture_swizzle, update relnotesMarek Olšák
The specifications are identical.
2010-06-02mesa: whitespace and 80 column wrappingBrian Paul