summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/common
Commit message (Collapse)AuthorAgeFilesLines
* meta: Handle bitmaps with alpha test enabled.Francisco Jerez2010-11-101-6/+35
| | | | Acked-by: Brian Paul <[email protected]>
* meta: Don't try to disable cube maps if the driver doesn't expose the extension.Francisco Jerez2010-11-061-1/+2
| | | | Signed-off-by: Brian Paul <[email protected]>
* meta: Fix incorrect rendering of the bitmap alpha component.Francisco Jerez2010-11-041-3/+9
| | | | Signed-off-by: Brian Paul <[email protected]>
* meta: Don't leak alpha function/reference value changes.Francisco Jerez2010-11-041-0/+5
| | | | Signed-off-by: Brian Paul <[email protected]>
* mesa: Make metaops use program refcounts instead of names.Eric Anholt2010-10-291-17/+20
| | | | | | | Fixes failure on restoring state when the program was active but deleted, and the name no longer exists. Bug #31194
* Track separate programs for each stageIan Romanick2010-10-271-6/+24
| | | | | The assumption is that all stages are the same program or that varyings are passed between stages using built-in varyings.
* Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg2010-10-134-50/+50
|
* mesa: Remove EXT_convolution.Eric Anholt2010-09-232-84/+0
| | | | More optional code.
* meta: Don't bind the created texture object in init_temp_texture().Francisco Jerez2010-09-161-1/+0
| | | | | | | | | | | This function is executed outside _mesa_meta_begin/end(), that means that e.g. _mesa_meta_Bitmap() clobbers the texturing state because it changes the currently active texture object. There's no need to bind the new texture when it's created, it's done again later anyway (from setup_drawpix/copypix_texture()). Signed-off-by: Brian Paul <[email protected]>
* mesa: Remove unnecessary FEATURE tests.Chia-I Wu2010-09-142-18/+0
| | | | | Remove all FEATURE tests in mesa/drivers/common/. They are not needed and the code looks better without them.
* mesa: call ctx->Driver.ChooseTextureFormat() only when necessary.Brian Paul2010-07-201-6/+3
| | | | | | | | | | | | | | | | | | | 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"
* Merge branch 'shader-file-reorg'Brian Paul2010-06-232-9/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-102-2/+2
| |
| * mesa: move arbprogram.[ch] to main/Brian Paul2010-06-101-1/+1
| |
| * mesa: refactor shader api / object codeBrian Paul2010-06-102-6/+4
| | | | | | | | | | Remove the unneeded ctx->Driver hooks for shader-related functions. Move state and API-related things into main/.
* | Revert "Fix image_matches_texture_obj() MaxLevel check"Will Dyson2010-06-191-0/+3
|/ | | | | | | | | | | | | This reverts commit a9ee95651131e27d5acf3d10909b5b7e5c8d3e92. It was based on a failure to understand how ther driver allocates memory, and causes a regression with Celestia. Set MaxLevel to dstLevel before allocating new mipmap level. The radeon driver will fail to allocate space for a new level that is outside of BaseLevel..MaxLevel. Set MaxLevel before allocating. Signed-off-by: Maciej Cencora <[email protected]>
* meta: Convert Z value from normalized to object-space in meta codeBrian Paul2010-05-241-4/+19
| | | | | | | | | | | | | | Convert Z from a normalized value in the range [0, 1] to an object-space Z coordinate in [-1, +1] so that drawing at the new Z position with the default/identity ortho projection results in the original Z value. Used by the meta-Clear, Draw/CopyPixels and Bitmap functions where the Z value comes from the clear value or raster position. Fixes piglit tests fdo23670-depth_test, quad-invariance and glsl-orangebook-ch06-bump as well as oglc zbfunc.c. https://bugs.freedesktop.org/show_bug.cgi?id=23670
* mesa: more transform feedback infrastructureBrian Paul2010-05-101-0/+7
| | | | | Includes GL_ARB_transform_feedback2 which encapsulates transform feedback state in objects.
* mesa: remove driver hooks for GetFloat/Integer/Doublev, etcBrian Paul2010-05-071-8/+0
| | | | | Once upon a time some drivers hooked into these for GL_HP_occlusion_test and GL_OES_read_format. They're not being used anymore so get rid of them.
* Disable scissor when begining meta operationsPierre Willenbrock2010-04-271-0/+1
| | | | Signed-off-by: Eric Anholt <[email protected]>
* Don't set srcLevel on GL_TEXTURE_RECTANGLE_ARB targetsPierre Willenbrock2010-04-271-4/+8
| | | | Signed-off-by: Eric Anholt <[email protected]>
* meta: Fix up restoration of state if _mesa_map_pbo_source() fails.Eric Anholt2010-03-161-1/+3
|
* meta: Properly refcount our saved programs and texobjs.Eric Anholt2010-03-161-2/+7
| | | | Found while debugging bug #24119.
* meta: Use the DrawBuffer's stencil sizeIan Romanick2010-03-051-1/+1
| | | | | | | | | Previously the code was erroneously using the stencil size of the context instead of the stencil size of the DrawBuffer. With FBOs these may be different. As a result, clearing the stencil buffer of an FBO bound to a context that doesn't have stencil would fail. Signed-off-by: Ian Romanick <[email protected]>
* mesa: Remove ClearIndex and IndexMask from device-driver interfaceIan Romanick2010-03-031-2/+0
| | | | | | | | These are used to inform the driver of the clear value for color-index buffers and to control write-masking of bits in color-index buffers. No driver use or need (not even Nouveau) these interfaces. Signed-off-by: Ian Romanick <[email protected]>
* mesa: disable unreachable meta mipmap gen codeBrian Paul2010-02-241-0/+3
| | | | | | | More work is needed to support 3D mipmap generation. Disable unreachable code until then. See bug 26722.
* mesa: restore _mesa_snprintf() - it's needed for WindowsBrian Paul2010-02-191-3/+3
| | | | This reverts part of commit 298be2b028263b2c343a707662c6fbfa18293cb2
* Replace the _mesa_*printf() wrappers with the plain libc versionsKristian Høgsberg2010-02-191-3/+3
|
* Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg2010-02-191-17/+17
|
* mesa: replace _mesa_bzero() with memset()Brian Paul2010-02-191-1/+1
|
* Remove _mesa_memcpy in favor of plain memcpy.Kenneth Graunke2010-02-192-7/+7
| | | | This may break the SUNOS4 build, but it's no longer relevant.
* mesa: Remove unnecessary headers.Vinson Lee2010-02-122-3/+0
|
* Merge branch 'mesa_7_7_branch'Brian Paul2010-01-081-18/+29
|\ | | | | | | | | | | Conflicts: src/mesa/drivers/dri/i965/brw_wm_emit.c
| * meta: remove F suffix from _mesa_Ortho() paramsBrian Paul2010-01-061-3/+3
| | | | | | | | _mesa_Ortho() takes GLdoubles.
| * meta: move destination vertex/projection setup out of _mesa_meta_GenerateMipmapBrian Paul2010-01-061-19/+21
| | | | | | | | Based on a patch submitted by Pierre Willenbrock <[email protected]>
| * meta: set viewport and projection matrix in _mesa_meta_GenerateMipmapBrian Paul2010-01-061-0/+9
| | | | | | | | | | | | This fixes mipmap levels being clipped to the last viewport. Based on a patch submitted by Pierre Willenbrock <[email protected]>
* | mesa: fix blend enable/disable calls in meta.c codeFrancis Galiegue2010-01-031-6/+16
| | | | | | | | | | | | Fixes regression in some DRI drivers since the GL_EXT_draw_buffers2 changes. Signed-off-by: Brian Paul <[email protected]>
* | mesa: implement per-buffer color maskingBrian Paul2009-12-292-14/+40
| | | | | | | | | | | | | | | | | | | | | | This is part of the GL_EXT_draw_buffers2 extension and part of GL 3.0. The ctx->Color.ColorMask field is now a 2-D array. Until drivers are modified to support per-buffer color masking, they can just look at the 0th color mask. The new _mesa_ColorMaskIndexed() function will be called by glColorMaskIndexedEXT() or glColorMaski().
* | mesa: per-buffer blend enabled flagsBrian Paul2009-12-291-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ctx->Color.BlendEnabled is now a GLbitfield instead of a GLboolean to indicate blend on/off status for each color/draw buffer. This is infrastructure for GL_EXT_draw_buffers2 and OpenGL 3.x New functions include _mesa_EnableIndexed(), _mesa_DisableIndexed(), and _mesa_IsEnabledIndexed(). The enable function corresponds to glEnableIndexedEXT() for GL_EXT_draw_buffers2 or glEnablei() for GL3. Note that there's quite a few tests for ctx->Color.BlendEnabled != 0 in drivers, etc. Those tests can remain as-is since the mask will be 0 or ~0 unless GL_EXT_draw_buffers2 is enabled.
* | Merge branch 'mesa_7_7_branch'Brian Paul2009-12-211-3/+3
|\| | | | | | | | | | | Conflicts: src/mesa/main/version.h src/mesa/state_tracker/st_atom_shader.c
| * mesa/meta: move BindTexture() call in _mesa_meta_GenerateMipmap()Brian Paul2009-12-141-3/+3
| | | | | | | | | | | | | | | | | | This is a follow-up to commit e3fa700c178e11e6735430119232919176ab7b42. The call to _mesa_BindTexture() must be before we set any other texture object state, namely the _mesa_TexParameteri() calls. This fixes bug 25601 (piglit gen-nonzero-unit failure).
* | mesa: remove unused ctx->Driver.ActiveTexture() hookBrian Paul2009-12-111-1/+0
|/
* meta: Bind texture to unit 0 for mipmap generationIan Romanick2009-12-091-0/+4
| | | | | | | If the active texture unit on entry to mipmap generation is not zero, bind the texture to unit zero. Fixes bug #24219.
* mesa: remove unused vertex array driver hooksBrian Paul2009-11-161-13/+0
|
* mesa: use _mesa_get_current_tex_object()Brian Paul2009-11-021-6/+2
|
* Merge branch 'texformat-rework'Brian Paul2009-10-282-8/+8
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/radeon/radeon_fbo.c src/mesa/drivers/dri/s3v/s3v_tex.c src/mesa/drivers/dri/s3v/s3v_xmesa.c src/mesa/drivers/dri/trident/trident_context.c src/mesa/main/debug.c src/mesa/main/mipmap.c src/mesa/main/texformat.c src/mesa/main/texgetimage.c
| * mesa: remove ctx->Driver.CompressedTextureSize() hookBrian Paul2009-10-241-1/+0
| | | | | | | | It always just called _mesa_compressed_texture_size() anyway.
| * mesa: replace gl_texture_format with gl_formatBrian Paul2009-09-301-1/+1
| | | | | | | | | | | | Now gl_texture_image::TexFormat is a simple MESA_FORMAT_x enum. ctx->Driver.ChooseTexture format also returns a MESA_FORMAT_x. gl_texture_format will go away next.
| * mesa: use _mesa_get_format_base_format()Brian Paul2009-09-271-1/+2
| |
* | mesa: s/Bilt/BlitBrian Paul2009-10-271-1/+1
| |