summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
* st/mesa: pass GL_MAP_INVALIDATE_RANGE_BIT to gallium driversBrian Paul2012-01-182-0/+4
| | | | | | when mapping renderbuffers or texture images. NOTE: This is a candidate for the 8.0 branch.
* gallium: improve the pipe_stream_output_info struct (v2)Marek Olšák2012-01-151-11/+7
| | | | | | | | | | | | | | | | | | | | | There are 3 changes: 1) stride is specified for each buffer, not just one, so that drivers don't have to derive it from the outputs 2) new per-output property dst_offset, which specifies the offset into the buffer in dwords where the output should be stored, so that drivers don't have to compute the offsets manually; this will also be useful for gl_SkipComponents from ARB_transform_feedback3 3) register_mask is removed, instead, there is start_component and num_components; register_mask with non-consecutive 1s doesn't make much sense (some hardware cannot do packing of components) Christoph Bumiller: fixed nvc0. v2: resolve merge conflicts in Draw and clean it up
* st/mesa: whitespace fixes, 80-column wrappingBrian Paul2012-01-121-14/+21
|
* st/mesa: re-order #includes in st_manager.cBrian Paul2012-01-121-10/+10
| | | | | | | | include mesa headers before gallium headers to avoid problem with ffs() being defined in u_math.h and then again in imports.h The next commit will add some #ifdefs to prevent multiple definitions of ffs().
* st/mesa: fix struct vs. class compilation warningBrian Paul2012-01-121-1/+1
| | | | | | | glsl_to_tgsi_visitor is earlier defined as a class, not a struct. Fixes MSVC warning. NOTE: This is a candidate for the 8.0 branch.
* vbo: introduce vbo_get_minmax_indices functionYuanhan Liu2012-01-122-2/+3
| | | | | | | | | | | | | | | | | | | | | | | Introduce vbo_get_minmax_indices() function to handle the min/max index computation for nr_prims(>= 1). The old code just compute the first prim's min/max index; this would results an error rendering if user called functions like glMultiDrawElements(). This patch servers as fixing this issue. As when nr_prims = 1, we can pass 1 to paramter nr_prims, thus I made vbo_get_minmax_index() static. v2: per Roland's suggestion, put the indices address compuation into vbo_get_minmax_index() instead. Also do comination if possible to reduce map/unmap count v3: per Brian's suggestion, use a pointer for start_prim to avoid structure copy per loop. Signed-off-by: Yuanhan Liu <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Brian Paul <[email protected]>