summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* meta: Fix glCopyTexImage(GL_LUMINANCE) from non-GL_LUMINANCE source.Eric Anholt2011-06-131-0/+14
| | | | | | | glReadPixels() was performing RGB -> L conversion differently from the glTexImage() style conversion appropriate for glCopyTexImage(). Fixes gles2conform copy_texture.
* intel: Fix mipmap and format handling of blit glCopyPixels().Eric Anholt2011-06-131-45/+53
| | | | Fixes fbo-mipmap-copypix.
* intel: Do the drawable x/y offset in intel_renderbuffer_map() for spans.Eric Anholt2011-06-131-64/+27
| | | | | | | | | | | We were mapping the renderbuffer once, then walking over all the buffers to map just the texture ones using the other texture mapping function that handled the x/y offset to the image in the region. But then we would go and overwrite *those* mappings with the original mappings for depth/stencil, which was wrong. Instead, just walk over the attachments once and map the attachments. Wasn't that easy?
* intel: Use rb->Data and rb->RowStride to handle spans Y flipping.Eric Anholt2011-06-131-7/+4
| | | | | | | | This is already pointing at 0 or Height - 1 and with an appropriate pitch, so no need to recompute those values per customization of the spans code. Cuts 3 out of 21kb of the compiled size. Reviewed-by: Chad Versace <[email protected]>
* intel: Clean up intel_render_texture with a rename and a helper function.Eric Anholt2011-06-131-10/+6
| | | | | | | | | | The "newImage" isn't particularly new -- it might be the same texture that was attached to the same attachment point before. This function also gets called when just rebinding back to an FBO with a texture attachment. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* intel: Move the draw_x/draw_y to the renderbuffer where it belongs.Eric Anholt2011-06-1312-80/+97
| | | | | | | | | | | | | | | | It was originally located in the region because the tracking of depth/color buffers was on the regions, and getting back to the irb would have been tricky. Now, we're keying off of the renderbuffer in more places, which means we can move these fields where they belong. This could fix potential rendering failure with a single texture having multiple images attached to different renderbuffers across shareCtx (as far as I can tell, this was the only failure we could cause, since anything else should trigger intel_render_texture in between, for example a BindFramebuffer). Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* dri: include swrast.h, not s_texrender.hBrian Paul2011-06-132-2/+2
|
* mesa: move texrender.c to swrastBrian Paul2011-06-138-44/+35
| | | | | | | This stuff is really for software rendering, it's not core Mesa. A small step toward pushing the FetchTexel() stuff down into swrast. Reviewed-by: Eric Anholt <[email protected]>
* vbo: minor simplification in print_draw_arrays() debug functionBrian Paul2011-06-131-4/+4
|
* mesa: move invariant code out of loop in get_tex_rgba()Brian Paul2011-06-131-14/+14
|
* st/mesa: rebind vertex arrays if _NEW_BUFFER_OBJECT is dirtyMarek Olšák2011-06-131-1/+2
| | | | | | This fixes piglit/vbo-bufferdata. It's a regression in 7.11. Reviewed-by: Brian Paul <[email protected]>
* i965: Add support for GL_FIXED vertex attributes.Eric Anholt2011-06-104-1/+41
| | | | | | | | | This sadly requires work in the VS to rescale them, because the hardware doesn't support this format natively. Fixes arb_es2_compatibility-fixed-type and gtf/fixed_data_type. Reviewed-by: Ian Romanick <[email protected]>
* Fix format not a string literal error with -Werror=format-securityEugeni Dodonov2011-06-101-1/+1
| | | | | | | A trivial fix for error: format not a string literal and no format arguments with compiling with -Werror=format-security flags. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/brw: Fix emit_depthbuffer() when packed depth/stencil texture is attachedChad Versace2011-06-101-11/+5
| | | | | | | | | | | | | If either depth or stencil buffer has packed depth/stencil format, then do not use separate stencil. Before this commit, emit_depthbuffer() incorrectly assumed that the texture's stencil renderbuffer wrapper was a *separate* stencil buffer, because the depth and stencil renderbuffer wrappers are distinct for depth/stencil textures (that is, depth_irb != stencil_irb). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38134 Signed-off-by: Chad Versace <[email protected]>
* i965/gen6: Add support for gl_PointCoord.Eric Anholt2011-06-091-0/+3
| | | | | | | | | This is just like PointSprite overrides, but it's always on for that attribute. Fixes glsl-fs-pointcoord, gtf/point_sprites. Acked-by: Kenneth Graunke <[email protected]>
* i965/gen6: Fix point sprite texture coordinate overrides.Eric Anholt2011-06-091-7/+7
| | | | | | | | We were assuming that the input attribute n to the FS was FRAG_ATTRIB_TEXn, which happened to be true often enough for our testcases. Acked-by: Kenneth Graunke <[email protected]>
* i965/gen6: Refactor SF setup a bit to handle overrides in one place.Eric Anholt2011-06-091-19/+24
| | | | Acked-by: Kenneth Graunke <[email protected]>
* mesa: get rid of homegrown logbase2 implementation in driversRoland Scheidegger2011-06-092-28/+2
| | | | | Some of the logbase2 functions did just the same as _mesa_logbase2, though they were taking signed numbers (but it shouldn't matter for them).
* mesa: fix gcc version check for _mesa_bitcountRoland Scheidegger2011-06-091-3/+3
| | | | The version check was bogus, and only inside a non-gcc block anyway.
* mesa: use __builtin_clz for logbase2 when availableRoland Scheidegger2011-06-092-20/+24
| | | | | Also rename to _mesa_logbase2 and move to imports.h to keep the ugly ifdef GNUC stuff outside other files (also to allow reuse).
* i965/gen7: Call gen7_create_constant_surface instead of brw_[...].Kenneth Graunke2011-06-083-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes 17 piglit tests: - glsl-vs-arrays-3 - glsl-vs-texturematrix-2 - glsl-vs-uniform-array-2 - arl - nv-arl - nv-init-zero-addr - vp-address-01 - vp-arl-constant-array - vp-arl-constant-array-huge - vp-arl-constant-array-huge-offset - vp-arl-constant-array-huge-offset-neg - vp-arl-constant-array-huge-relative-offset - vp-arl-constant-array-huge-varying - vp-arl-env-array - vp-arl-local-array - vp-arl-neg-array - vp-arl-neg-array-2 Fixes 4 glean tests: - glsl1-constant array of vec4 with variable indexing, vertex shader - glsl1-constant array with variable indexing, vertex shader - glsl1-constant array with variable indexing, vertex shader (2) - vp1-ARL test Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/gen7: Enable SIMD16 fragment shader dispatch.Kenneth Graunke2011-06-081-2/+6
| | | | | Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/gen7: Don't emit 3DSTATE_GS_SVB_INDEX on Ivybridge.Kenneth Graunke2011-06-081-7/+9
| | | | | | | | | | According to vol2a.07, it only applies from Cantiga to Sandybridge. I found this in my ringbuffers while investigating various GPU hangs. While it may not have been the cause, it seemed wise to remove it. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/gen7: Program stencil buffers on Ivybridge.Kenneth Graunke2011-06-081-19/+42
| | | | | | | | Thanks to Chad's hard work implementing separate stencil and HiZ support, this is entirely straightforward. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/gen7: Add a prepare_depthbuffer function.Kenneth Graunke2011-06-081-0/+15
| | | | | | | We need to call add_validated_bo to do proper aperture space accounting. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/gen7: gen7_emit_depthbuffer needs the _NEW_DEPTH dirty bit.Kenneth Graunke2011-06-081-1/+2
| | | | | | | For ctx->Depth.Mask. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/gen7: Remove stencil renderbuffer from gen7_depth_format.Kenneth Graunke2011-06-081-3/+0
| | | | | | | | Since Gen7 doesn't support packed depth/stencil, the stencil buffer can't possibly be relevant for determining the depth format. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* st/mesa: more helpful debug message in destroy_program_variants_cb()Brian Paul2011-06-081-2/+2
|
* intel: Request DRI2 buffers for separate stencil and hizChad Versace2011-06-083-14/+444
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When it is sensible to do so, 1) intelCreateBuffer() now attaches separate depth and stencil buffers to the framebuffer it creates. 2) intel_update_renderbuffers() requests for the framebuffer a separate stencil buffer (DRI2BufferStencil). The criteria for "sensible" is: - The GLX config has nonzero depth and stencil bits. - The hardware supports separate stencil. - The X driver supports separate stencil, or its support has not yet been determined. If the hardware supports hiz too, then intel_update_renderbuffers() also requests DRI2BufferHiz. If after requesting DRI2BufferStencil we determine that X driver did not actually support separate stencil, we clean up the mistake and never ask for DRI2BufferStencil again. CC: Ian Romanick <[email protected]> CC: Kristian Høgsberg <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel: Add assertions to intelCreateBuffer()Chad Versace2011-06-081-3/+12
| | | | | | | | | | | | | | | Assert that the GLX config has an expected depth/stencil bit combination: one of d24/s8, d16/s0, d0/s0. These are the only depth/stencil configurations that we advertise. Remove the check for software stencil, because given the assertions' constraints the check always fails. CC: Ian Romanick <[email protected]> CC: Kristian Høgsberg <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel: Refactor intel_update_renderbuffers()Chad Versace2011-06-081-111/+212
| | | | | | | | | | | | | | | | | | | | | | Extract the code that queries DRI2 to obtain the DRIdrawable's buffers into intel_query_dri2_buffers_no_separate_stencil(). Extract the code that assigns the DRI buffer's DRM region to the corresponding renderbuffer into intel_process_dri2_buffer_no_separate_stencil(). Rationale --------- The next commit enables intel_update_renderbuffers() to query for separate stencil and hiz buffers. Without separating the separate-stencil and no-separate-stencil paths, intel_update_renderbuffers() degenerates into an impenetrable labyrinth of if-trees. CC: Ian Romanick <[email protected]> CC: Kristian Høgsberg <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel: Add function intel_renderbuffer_set_hiz_region()Chad Versace2011-06-082-0/+17
| | | | | | | | | | | It's the analog of intel_renderbuffer_set_region(), but for the hiz region of course. CC: Ian Romanick <[email protected]> CC: Kristian Høgsberg <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel/intel_context.c: Remove unused functionsChad Versace2011-06-081-48/+0
| | | | | | | | | | | Remove functions intel_override_hiz() and intel_override_separate_stencil(). They are now located in intel_screen.c. CC: Ian Romanick <[email protected]> CC: Kristian Høgsberg <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel: Add flags to intel_screen for hiz and separate stencilChad Versace2011-06-083-7/+73
| | | | | | | | | | | | | | | | | | | | | Add the fields below to intel_screen. The expression in parens is the value to which intelInitScreen2() currently sets the field. GLboolean hw_has_separate_stencil (true iff gen >= 7) GLboolean hw_must_use_separate_stencil (true iff gen >= 7) GLboolean hw_has_hiz (always false) enum intel_dri2_has_hiz dri2_has_hiz (INTEL_DRI2_HAS_HIZ_UNKNOWN) The analogous fields in intel_context now inherit their values from intel_screen. When hiz and separate stencil become completely implemented for a given chipset, then the respective fields need to be enabled. CC: Ian Romanick <[email protected]> CC: Kristian Høgsberg <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel: Define enum intel_dri2_has_hizChad Versace2011-06-081-0/+56
| | | | | | | | | | | | | ... which indicates if the X driver supports DRI2BufferHiz and DRI2BufferStencil. I'm placing this in its own commit due to the large comment block. CC: Ian Romanick <[email protected]> CC: Kristian Høgsberg <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel: Define span functions for S8 renderbuffersChad Versace2011-06-081-0/+64
| | | | | | | | | Since the stencil buffer is interleaved, the generic Mesa renderbuffer accessors do not suffice. Custom span functions are necessary. Acked-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* i965/brw: Emit state for hiz and separate stencil buffersChad Versace2011-06-082-9/+107
| | | | | | | | | | When emitting 3DSTATE_DEPTH_BUFFER, also emit 3DSTATE_HIER_DEPTH_BUFFER if there is a hiz buffer. Ditto for 3DSTATE_STENCIL_BUFFER and a separate stencil buffer. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* mesa: merge glapidispatch.h into dispatch.hChia-I Wu2011-06-084-12282/+12242
| | | | | | | | | glapidispatch.h was located in glapi and shared with mesa core. Because the way it was shared, mesa core must include it indirectly via main/dispatch.h. Now that it is no longer needed by glapi and is located in core mesa, merging it with main/dispatch.h to avoid wrong uses.
* mesa: fix function remapping for dlistChia-I Wu2011-06-081-1/+0
| | | | | | glapidispatch.h should not be included directly. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36282
* mesa: fix GLES remap table setup againChia-I Wu2011-06-081-2/+3
| | | | | | | | | Generate different glapidispatch.h's for GL and GLES. For GLES, we want a local remap table. This reverts commit 5af46e836073d2112b147b524e441bdb808cc128. The commit will break GL remap table setup when main/glapidispatch.h is regenerated.
* vbo: run 'indent' on vbo_save_api.cBrian Paul2011-06-081-362/+456
|
* vbo: rename DO_FALLBACK -> dlist_fallbackBrian Paul2011-06-081-9/+9
|
* vbo: remove node->count > 0 test in vbo_save_playback_vertex_list()Brian Paul2011-06-081-9/+11
| | | | | | | | | | | | | | See piglit dlist-fdo31590.c test and http://bugs.freedesktop.org/show_bug.cgi?id=31590 In this case we had node->prim_count=1 but node->count==0 because the display list started with glBegin() but had no vertices. The call to glEvalCoord1f() triggered the DO_FALLBACK() path. When replaying the display list, the old condition basically no-op'd the call to vbo_save_playback_vertex_list call(). That led to the invalid operation error being raised in glEnd(). NOTE: This is a candidate for the 7.10 branch.
* vbo: check array indexes to prevent negative indexingBrian Paul2011-06-082-10/+13
| | | | | | See the piglit dlist-fdo31590.c test NOTE: This is a candidate for the 7.10 branch.
* st: use _mesa_is_bufferobj()Brian Paul2011-06-081-3/+4
|
* vbo: added a commentBrian Paul2011-06-081-1/+1
|
* mesa: remove old commentBrian Paul2011-06-081-1/+0
|
* mesa: add more sampler types to is_sampler_type()Brian Paul2011-06-081-0/+4
|
* osmesa: Fix missing symbols when GLX_INDIRECT_RENDERING is defined.Jeremy Huddleston2011-06-071-0/+28
| | | | | | | | | When GLX_INDIRECT_RENDERING is defined, some symbols are used in libglapi.a but are not defined. Define them through the help of glapitemp.h. Signed-off-by: Jeremy Huddleston <[email protected]> Signed-off-by: Chia-I Wu <[email protected]>
* mesa: Ignore blits to/from missing buffersIan Romanick2011-06-071-8/+37
| | | | | | | | | | | | | | | | | | | | | The EXT_framebuffer_object spec (and later specs) say: "If a buffer is specified in <mask> and does not exist in both the read and draw framebuffers, the corresponding bit is silently ignored." Check for color, depth, and stencil that the source and destination FBOs have the specified buffers. If the buffer is missing, remove the bit from the blit request mask and continue. Fixes the crash in piglit test 'fbo-missing-attachment-blit from', and fixes 'fbo-missing-attachment-blit es2 from'. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37739 Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]> NOTE: This is a candidate for the stable branches.