summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote branch 'origin/master' into glsl2Eric Anholt2010-07-2659-5647/+13081
|\ | | | | | | | | | | | | | | | | | | | | 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
| * mesa: Fix Cygwin build with llvm enabled.Vinson Lee2010-07-231-1/+1
| | | | | | | | | | On Cygwin locale_t in not available but 'llvm-config --cppflags' adds the compiler flag -D_GNU_SOURCE to the build.
| * mesa: call ctx->Driver.ChooseTextureFormat() only when necessary.Brian Paul2010-07-202-45/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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"
| * mesa: return retval in _mesa_RenderObjectUnpurgeable()Brian Paul2010-07-161-1/+1
| | | | | | | | | | | | Found by Vinson with static analysis. NOTE: This is a candidate for the 7.8 branch.
| * mesa: Add error path in compressed_texture_error_check.Vinson Lee2010-07-151-0/+4
| | | | | | | | | | Add error path for unhandled dimensions in compressed_texture_error_check.
| * mesa: fix _mesa_Texture/Render/BufferObjectUnpurgeable() return valuesBrian Paul2010-07-141-3/+3
| | | | | | | | | | | | | | 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.
| * mesa: update assertions and fix refcounting in depth/stencil renderbuffer codeBrian Paul2010-07-141-6/+16
| |
| * mesa: silence a printf warningBrian Paul2010-07-141-2/+2
| |
| * Merge branch 'mesa-2d-registers'Zack Rusin2010-07-132-5/+34
| |\
| | * mesa: make uniform work with geometry shadersZack Rusin2010-07-101-0/+29
| | |
| | * mesa: GL_TRIANGLE_STRIP_ADJACENCY_ARB is the last valid primitiveZack Rusin2010-07-101-5/+5
| | |
| * | mesa: s/snprintf/_mesa_snprintf/Vinson Lee2010-07-131-1/+2
| |/
| * mesa: Move [UN]CLAMPED_FLOAT_TO_UBYTE from imports.h to macros.h.Vinson Lee2010-07-092-36/+35
| | | | | | | | The other similar integer/float conversion macros are in macros.h.
| * gs: inject const int gl_VerticesIn at link timeZack Rusin2010-07-081-12/+10
| |
| * mesa: initial support for new GL 3.0 texture formatsBrian Paul2010-07-074-5/+85
| |
| * mesa: Always initialize transform feedback state.Chia-I Wu2010-07-062-24/+48
| | | | | | | | | | | | 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.
| * mesa: initial support for unnormalized integer texture formatsBrian Paul2010-07-059-133/+1140
| | | | | | | | As defined by GL_EXT_texture_integer.
| * mesa: Fix OpenGL ES-only builds.Chia-I Wu2010-07-032-0/+4
| | | | | | | | | | | | | | | | 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.
| * mesa: add geometry shader fields to gl_shader_programBrian Paul2010-07-023-52/+36
| | | | | | | | | | | | | | 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.
| * mesa: fix texenv generation when num color bufs == 0Brian Paul2010-07-021-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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).
| * mesa: add missing error checks in _mesa_program_parameteri()Brian Paul2010-07-021-8/+45
| |
| * main: change some GS field types, added commentsBrian Paul2010-07-021-2/+3
| |
| * mesa: make the number of draw buffers part of the texenv program key stateBrian Paul2010-07-022-5/+9
| | | | | | | | | | | | | | | | 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.
| * mesa: extension flags and version testing for GL 3.x featuresBrian Paul2010-07-013-3/+102
| |
| * mesa: entrypoints for GL 3.1 primitive restartBrian Paul2010-07-012-0/+108
| |
| * mesa: free xform feedback hash tableBrian Paul2010-07-011-0/+1
| |
| * mesa: Use fpclassify for GL_OES_query_matrix on OpenBSD and NetBSD.Chia-I Wu2010-06-301-1/+2
| | | | | | | | | | | | | | Patch from Brad Smith <[email protected]> The attached patch allows the GL_OES_query_matrix function to use the systems fpclassify() for OpenBSD and NetBSD.
| * mesa: initial support for ARB_geometry_shader4Zack Rusin2010-06-2816-4082/+4548
| | | | | | | | | | | | laying down the foundation for everything and implementing most of the stuff. linking, gl_VerticesIn and multidimensional inputs are left.
| * mesa: Remove unnecessary header.Vinson Lee2010-06-261-1/+0
| |
| * mesa: initialize extension string when context is first boundBrian Paul2010-06-252-2/+2
| | | | | | | | | | | | | | | | ...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.
| * Merge branch 'shader-file-reorg'Brian Paul2010-06-2327-1295/+6770
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * mesa: rename src/mesa/shader/ to src/mesa/program/Brian Paul2010-06-1015-43/+43
| | |
| | * mesa: move shader/slang/* sources to main/slang/*Brian Paul2010-06-101-2/+2
| | | | | | | | | | | | Reduce the source tree depth a bit.
| | * mesa: move nvprogram.[ch] to main/Brian Paul2010-06-104-3/+1033
| | |
| | * mesa: move arbprogram.[ch] to main/Brian Paul2010-06-104-2/+1070
| | |
| | * mesa: move atifragshader.[ch] to main/Brian Paul2010-06-105-7/+950
| | |
| | * mesa: move uniforms.c to main/Brian Paul2010-06-103-1/+1493
| | |
| | * mesa: refactor shader api / object codeBrian Paul2010-06-1011-1260/+2198
| | | | | | | | | | | | | | | Remove the unneeded ctx->Driver hooks for shader-related functions. Move state and API-related things into main/.
| * | mesa: fix attachment error checking for glGetFramebufferAttachmentParameteriv()Brian Paul2010-06-221-1/+44
| | | | | | | | | | | | | | | | | | | | | 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.
| * | mesa: fix assertion failure for GL_ALPHA FBOsMarek Olšák2010-06-231-0/+1
| | |
* | | linker: Link built-in functions instead of including them in every shaderIan Romanick2010-07-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | linker: Track and validate GLSL versions used in shadersIan Romanick2010-07-191-0/+4
| | |
* | | i915: Ask the compiler to flatten out all the if statements that it can.Eric Anholt2010-07-191-0/+5
| | |
* | | linker: Don't dynamically allocate slots for linked shadersIan Romanick2010-06-301-1/+6
| | | | | | | | | | | | | | | The can be at most one shader per stage. There are currently only two stages. There is zero reason to dynamically size this array.
* | | glsl2: Use Mesa's gl_shader_program instead of our own struct glsl_program.Eric Anholt2010-06-301-0/+3
| | | | | | | | | | | | This avoids more allocation and shuffling of data around.
* | | glsl2: Move our data from a glsl_shader* on the side to the main gl_shader *.Eric Anholt2010-06-301-0/+3
|/ / | | | | | | | | 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.
* / mesa: Allow querying the system FBO in GetFramebufferAttachmentParameterivKristian Høgsberg2010-06-151-6/+8
|/ | | | | | | | | | | | | | | | | | | | | | 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
* mesa: Allow GL_ALPHA FBOs with ARB_framebuffer_object.Eric Anholt2010-06-102-3/+7
| | | | Drivers still reject them today, but cairo would like to use these.
* mesa: add ARB_texture_swizzle as alias of EXT_texture_swizzle, update relnotesMarek Olšák2010-06-051-0/+1
| | | | The specifications are identical.
* mesa: whitespace and 80 column wrappingBrian Paul2010-06-021-3/+12
|