summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
Commit message (Collapse)AuthorAgeFilesLines
* gallium: remove PIPE_SHADER_CAP_OUTPUT_READMarek Olšák2012-02-271-11/+2
| | | | | | | | | | | | r600g is the only driver which has made use of it. The reason the CAP was added was to fix some piglit tests when the GLSL pass lower_output_reads didn't exist. However, not removing output reads breaks the fallback for glClampColorARB, which assumes outputs are not readable. The fix would be non-trivial and my personal preference is to remove the CAP, considering that reading outputs is uncommon and that we can now use lower_output_reads to fix the issue that the CAP was supposed to workaround in the first place.
* st/mesa: initialize the MaxViewport, MaxRenderbufferSize constantsBrian Paul2012-02-241-0/+8
| | | | | Use the max 2D/rect texture size as the limit. If that's not true for some devices we'll need new PIPE_CAP_ queries.
* st/mesa: stop using MAX_WIDTH in st_cb_texture.cBrian Paul2012-02-241-10/+27
| | | | Reviewed-by: José Fonseca <[email protected]>
* st/mesa: stop using MAX_WIDTH in st_cb_drawpixels.cBrian Paul2012-02-241-26/+29
| | | | Reviewed-by: José Fonseca <[email protected]>
* st/mesa: use pipe_sampler_view_release()Brian Paul2012-02-231-13/+5
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: add floating point formats in st_new_renderbuffer_fb()Brian Paul2012-02-231-1/+8
| | | | | | To allow creating floating point buffers / pbuffers. Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: fix typo: s/patent/parent/Brian Paul2012-02-151-1/+1
|
* st/mesa: remove unused st_equal_formats() functionBrian Paul2012-02-152-21/+0
| | | | | | It was incomplete and didn't take byte swapping into account either. Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: use _mesa_format_matches_format_and_type() in decompress_with_blit()Brian Paul2012-02-151-1/+3
| | | | | | st_equal_formats() is no longer used now. Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: remove INLINE qualifiersBrian Paul2012-02-151-2/+2
| | | | | | | from st_get/create_texture_sampler_view_from stobj() functions. No real value in these cases. Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: simplify st_create_texture_sampler_view()Brian Paul2012-02-151-12/+9
| | | | | | Implement in terms of st_create_texture_sampler_view_format(). Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: remove unused st_get_texture_sampler_view()Brian Paul2012-02-151-16/+0
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: use private pipe_sampler_view in decompress_with_blit()Brian Paul2012-02-151-4/+18
| | | | | | | | | | Similar to the previous commit. Also fix incorrect setting of the sampler view's state after it's created. We need to specify the first/last_level fields in the template instead. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: use private pipe_sampler_view in st_render_mipmap()Brian Paul2012-02-151-3/+7
| | | | | | | Rather than the one in st_texture_object. This sampler view really has no connection to the one used for rendering. Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: assorted clean-ups in st_cb_fbo.cBrian Paul2012-02-151-19/+3
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: remove st_framebuffer_renderbuffer()Brian Paul2012-02-151-14/+1
| | | | | | Just use _mesa_framebuffer_renderbuffer(). Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: remove st_get_default_texture()Brian Paul2012-02-154-57/+4
| | | | | | Just use _mesa_get_fallback_texture() instead. Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: improve assertion/check for stencil formatBrian Paul2012-02-151-8/+2
|
* st/mesa: use _mesa_pack_ubyte_stencil_row() in draw_stencil_pixels()Brian Paul2012-02-151-42/+2
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: don't set PIPE_BIND_DISPLAY_TARGET for user-created renderbuffersBrian Paul2012-02-151-0/+6
| | | | | | | | | | | The st_renderbuffer_alloc_storage() function is used to allocate both window-system buffers and user-created renderbuffers. The later kind are never directly displayed so don't set PIPE_BIND_DISPLAY_TARGET for those surfaces. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: use u_surface_default_template() helperBrian Paul2012-02-151-3/+1
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: remove redundant memset(surface_template,0)Brian Paul2012-02-151-1/+0
| | | | | | The subsequent u_surface_default_template() call does that for us. Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: remove st_renderbuffer::strideBrian Paul2012-02-152-8/+6
| | | | | | It was only used for software buffers and easily computed. Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: remove st_renderbuffer::formatBrian Paul2012-02-153-17/+10
| | | | | | We only used it in a few places that can implemented differently. Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: only resolve if number of samples is > 1Dave Airlie2012-02-121-1/+2
| | | | | | | | | | Marek: this fixes a firefox crash and maybe even: https://bugs.freedesktop.org/show_bug.cgi?id=45943 NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Dave Airlie <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* st/mesa: stop using Map8[] tables in load_color_map_texture()Brian Paul2012-02-101-5/+6
| | | | | | | | Use the float tables instead. Pixel maps are seldom used so this shouldn't be a big deal. Next, we can get rid of the gl_pixelmap::Map8 array. Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: exit the update fragment samplers/textures loops early.Dave Airlie2012-02-092-12/+23
| | | | | | | | | | If we have no more enabled samplers and we've reset all the previously used ones, no need to keep going around this loop. (just moved some stuff around to clean it up a bit). Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* st/mesa: fixup NDEBUG vs DEBUG causing debug path to get taken.Dave Airlie2012-02-091-3/+3
| | | | | | | From what I can see we were taking the debug path all the time, when we probably only want it for enable debug path. Signed-off-by: Dave Airlie <[email protected]>
* gallium: add PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTIONChristoph Bumiller2012-02-091-2/+2
| | | | | | | Just let the hardware do it if it can and avoid drivers having to check for the special case on each draw call. v2: update the draw module
* st/mesa: avoid vertex texture and sampler updates for 0 caseDave Airlie2012-02-082-0/+5
| | | | | | | | | | | If we had no vertex textures or samplers previously and we have none now, don't bother doing the enables dance. I was profiling nexuiz on noop and noticed these two functions in the profile, this drops their usage from 0.86% to 0.03% and 0.23% to 0.03% for texture and samplers. Signed-off-by: Dave Airlie <[email protected]>
* st/mesa: kill off point size clamping in vertex shadersMarek Olšák2012-01-312-98/+0
| | | | | | | | This fixes the gl_PointSize transform feedback test. Point size clamping should happen at the rasterizer stage, i.e. after the vertex and geometry shaders and transform feedback. Drivers are expected to do this by themselves.
* st/mesa: simplify initialization of light_twosideMarek Olšák2012-01-311-21/+3
| | | | | | Core Mesa does this for us, see update_two_size in state.c. Reviewed-by: Brian Paul <[email protected]>
* st/mesa: use table-driven approach to exposing extensions for formats (v3)Marek Olšák2012-01-291-207/+167
| | | | | | | | | | | | | | | | | | The check for ctx->API was unnecessary, because OES extensions are not exposed in desktop GL. Also require renderbuffer support for ARB_texture_rgb10_a2ui, as per the spec. Tested by comparing old and new glxinfo with softpipe and r600g. v2: fix bugs v3: rename need_only_one -> need_at_least_one rename num_elements -> num_mappings add comments use const when appropriate Reviewed-by: Brian Paul <[email protected]>
* st/mesa: use table-driven approach to exposing extensions based on CAPsMarek Olšák2012-01-291-108/+58
| | | | | | | | | | | | This change is not exactly equivalent (sometimes we checked for non-zero, sometimes if >0 or >1), but the behavior shouldn't change, because all drivers report 0 for unsupported CAPs. Exposing CAP_STREAM_OUTPUT_PAUSE_RESUME without CAP_MAX_STREAM_OUTPUT_BUFFERS is a driver bug and st/mesa does no checking if the latter is supported as well. Drivers must report CAPs consistently. v2: make the array const
* st/mesa: add PIPE_CAP_GLSL_FEATURE_LEVEL, cleanup st_extensions.cMarek Olšák2012-01-291-21/+28
| | | | | | | | v2: handle the cap in r300 and r600 as well Additional info for r600g: The env var R600_GLSL130=1 enables GLSL 1.3. Along with R600_STREAMOUT=1, it enables full GL 3.
* state_stracker: Fix access to uninitialized memory.Mathias Fröhlich2012-01-291-1/+1
| | | | | | | | Fix an access to uninitialized memory pointed out by valgrind in glsl_to_tgsi_visitor::simplify_cmp(void). Note: This is a candidate for the 8.0 branch. Signed-off-by: Mathias Fröhlich <[email protected]>
* mesa/st: Assign inputsRead at right (previous) location.José Fonseca2012-01-251-2/+4
| | | | | | | | Fixes the src/mesa/state_tracker/st_glsl_to_tgsi.cpp:4032:src_register: Assertion `t->inputMapping[index] < (sizeof(t->inputs)/sizeof(*(t->inputs)))' failed. assertion failure introduced in 697b9945fb0f55428b06821f98fd8621372f81ad
* mesa: remove ctx->Const.sRGBCapableMarek Olšák2012-01-252-2/+1
| | | | | | | It always had the same value as ctx->Extensions.EXT_framebuffer_sRGB. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* st/mesa: require all s3tc formats for EXT_texture_compression_s3tcMarek Olšák2012-01-251-1/+10
| | | | Reviewed-by: Brian Paul <[email protected]>
* st/mesa: simplify enabling EXT_packed_depth_stencil and ARB_fboMarek Olšák2012-01-251-16/+5
| | | | | | | | - use OR to combine bind flags - combine both conditionals into one - move the ARB_fbo enable where it belongs Reviewed-by: Brian Paul <[email protected]>
* st/mesa: inline if(1) conditionalMarek Olšák2012-01-251-219/+215
| | | | v2: fix typo
* st/mesa: move fragment shader tgsi tokens into st_fp_variantMarek Olšák2012-01-254-17/+8
| | | | The TGSI code may vary depending on the clamp_color bit.
* st/mesa: do vertex and fragment color clamping in shadersMarek Olšák2012-01-2513-46/+120
| | | | | | | | | | | | | | For ARB_color_buffer_float. Most hardware can't do it and st/mesa is the perfect place for a fallback. The exceptions are: - r500 (vertex clamp only) - nv50 (both) - nvc0 (both) - softpipe (both) We also have to take into account that r300 can do CLAMPED vertex colors only, while r600 can do UNCLAMPED vertex colors only. The difference can be expressed with the two new CAPs.
* st/mesa: Fix recurring surfaceless contextsBenjamin Franzke2012-01-251-2/+4
| | | | | | | | | | | | | A current incomplete framebuffer was incorrectly used as a st_framebuffer. When accessing st_framebuffer childs bad things happen: e.g. st_framebuffer::iface was used to check whether its an incomplete fb, instead we need to compare st_framebuffer::Base against mesa_get_incomplete_framebuffer. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44919 Note: This is a candidate for the 8.0 branch. Reviewed-by: Brian Paul <[email protected]>
* mesa: remove gl_renderbuffer::WrappedBrian Paul2012-01-241-2/+0
| | | | There's no such thing as renderbuffer wrappers anymore.
* st/mesa: remove gl_renderbuffer::GetPointer stuffBrian Paul2012-01-241-19/+0
|
* st/mesa: remove gl_renderbuffer:DataType assignmentsBrian Paul2012-01-244-107/+0
| | | | | | | | That field is only used by swrast code so there's no reason to mess with it in the gallium state tracker. This also lets us remove the unused st_format_data() type function and related code.
* st/mesa: copy num_immediates field when copying the immediates arrayBrian Paul2012-01-191-1/+5
| | | | | | | | | | | | | | | Two assignments to num_immediates were missing in get_pixel_transfer_visitor() and get_bitmap_visitor(). The uninitialized value led to valgrind errors and crashes in some cases. Added new assertions to catch future problems in this area. Also changed num_immediates to unsigned to avoid signed/unsigned comparison warnings. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <[email protected]>
* mesa: Set default access flags based on the run-time APIIan Romanick2012-01-191-1/+1
| | | | | | | | | | | | | | | | | | | The default access flags for OpenGL ES (via GL_OES_map_buffer) and desktop OpenGL are different. The code previously tried to handle this, but the decision was made at compile time. Since the same driver binary can be used for both OpenGL ES and desktop OpenGL, the decision must be made at run-time. This should fix bug #44433. It appears that the test case does various map and unmap operations and inspects the state of the buffer object around each. When it sees that GL_BUFFER_ACCESS does not match its expectations, it fails. NOTE: This is a candidate for release branches. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44433
* st/mesa: add fallback pipe formats for (compressed) R, RG formatsBrian Paul2012-01-191-12/+22
| | | | | | | | | | | If we don't find an exact PIPE_FORMAT_x for a GL_(COMPRESSED)_RED/RG format, try uncompressed formats. We were already doing this for the RGB(A) formats. Fixes piglit arb_texture_compression-internal-format-query test. NOTE: This is a candidate for the stable branches. Reviewed-by: José Fonseca <[email protected]>