Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | st/mesa: don't set 16 scissors and 16 viewports if they're unused | Marek Olšák | 2017-06-22 | 4 | -6/+34 |
| | | | | | | | Only do so if there is a shader writing gl_ViewportIndex. This removes a lot of CPU overhead for the most common case. Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: fix pipe_rasterizer_state::scissor with multiple viewports | Marek Olšák | 2017-06-22 | 1 | -1/+1 |
| | | | | | Cc: 17.1 <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: simplify st_update_viewport | Marek Olšák | 2017-06-22 | 1 | -25/+10 |
| | | | | Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: remove redundant sample_mask checking | Marek Olšák | 2017-06-22 | 2 | -7/+1 |
| | | | | | | cso does that too Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: use precomputed st_fb_orientation | Marek Olšák | 2017-06-22 | 4 | -8/+8 |
| | | | | Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | mesa: don't call _mesa_update_clip_plane in the GL core profile | Marek Olšák | 2017-06-22 | 1 | -1/+2 |
| | | | | | | It uses the projection matrix to transform the clip plane. Reviewed-by: Ilia Mirkin <[email protected]> | ||||
* | st/mesa: set st_context::...num_samplers to 0 when there are no samplers | Marek Olšák | 2017-06-22 | 1 | -1/+3 |
| | | | | | | This was missed during my st/mesa series. Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: unify fail paths for update_single_texture | Marek Olšák | 2017-06-22 | 2 | -7/+2 |
| | | | | Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: don't call u_sampler_view_default_template for sampler views | Marek Olšák | 2017-06-22 | 1 | -1/+2 |
| | | | | Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: always set sampler swizzle according to the texture base format | Marek Olšák | 2017-06-22 | 1 | -32/+9 |
| | | | | | | | | | Mainly don't (indirectly) call util_format_description here. If the driver supports texture swizzling, this will always do the right thing. If the driver doesn't support it, it doesn't matter. Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: samplers only need to track whether GLSL >= 130 | Marek Olšák | 2017-06-22 | 5 | -22/+25 |
| | | | | Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: simplify get_texture_format_swizzle | Marek Olšák | 2017-06-22 | 1 | -23/+20 |
| | | | | | | | - Don't check GL_NONE (that was only for buffers). - Don't use util_format_is_depth_or_stencil. Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: add an entirely separate codepath for setting up buffer views | Marek Olšák | 2017-06-22 | 6 | -100/+134 |
| | | | | | | | | | | | | Remove handling of buffers from all texture paths. This simplifies things for both buffers and textures. get_sampler_view_format is also cleaned up not to call util_format_is_depth_and_stencil. v2: also update st_NewTextureHandle Reviewed-by: Nicolai Hähnle <[email protected]> (v1) | ||||
* | st/mesa: don't return an error from update_single_texture | Marek Olšák | 2017-06-22 | 3 | -11/+7 |
| | | | | | | | It can just return a NULL sampler view, which is better than not doing anything at all. Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: clean up trivial dereferences in update_textures | Marek Olšák | 2017-06-22 | 1 | -6/+7 |
| | | | | Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: don't check MaxTextureImageUnits in update_textures | Marek Olšák | 2017-06-22 | 1 | -12/+2 |
| | | | | | | The linker takes care of it. Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: don't call st_shader_stage_to_ptarget in update_textures | Marek Olšák | 2017-06-22 | 1 | -8/+7 |
| | | | | Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: sink and simplify texBaseFormat getting for sampler states | Marek Olšák | 2017-06-22 | 1 | -9/+9 |
| | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: don't set sampler states for TBOs | Marek Olšák | 2017-06-22 | 2 | -4/+12 |
| | | | | Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: optimize sampler state translation code | Marek Olšák | 2017-06-22 | 1 | -48/+20 |
| | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: sink code needed for apply_texture_swizzle_to_border_color | Marek Olšák | 2017-06-22 | 1 | -28/+33 |
| | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: simplify update_shader_samplers | Marek Olšák | 2017-06-22 | 1 | -16/+8 |
| | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: when binding sampler states, don't check the max sampler limit | Marek Olšák | 2017-06-22 | 1 | -8/+1 |
| | | | | | | | The GLSL linker takes care of it. Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: don't unbind sampler states if none are used | Marek Olšák | 2017-06-22 | 1 | -1/+1 |
| | | | | | Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | st/mesa: unify update_gp/tcp/tep code | Marek Olšák | 2017-06-22 | 1 | -63/+28 |
| | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: don't search through shader variants if there is only one | Marek Olšák | 2017-06-22 | 1 | -51/+90 |
| | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: don't track shader variants in st_context | Marek Olšák | 2017-06-22 | 2 | -23/+14 |
| | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: move blend color into its own state atom | Marek Olšák | 2017-06-22 | 3 | -6/+10 |
| | | | | | | | This is now sensible thanks to the NewBlendColor flag. Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: check correctly if multisampling is enabled | Marek Olšák | 2017-06-22 | 2 | -3/+4 |
| | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | st/mesa: don't invoke st_finalize_texture & st_convert_sampler for TBOs | Marek Olšák | 2017-06-22 | 1 | -4/+6 |
| | | | | | | This is a v2 of the previous patch (v1 didn't skip st_finalize_texture). Reviewed-by: Samuel Pitoiset <[email protected]> | ||||
* | mesa: simplify _mesa_is_image_unit_valid for buffers | Marek Olšák | 2017-06-22 | 1 | -12/+13 |
| | | | | | | Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: don't flag _NEW_PROGRAM_CONSTANTS for GLSL programs for st/mesa | Marek Olšák | 2017-06-22 | 4 | -8/+30 |
| | | | | | | | | | v2: also update _mesa_uniform_handle for bindless textures Reviewed-by: Nicolai Hähnle <[email protected]> (v1) Reviewed-by: Brian Paul <[email protected]> (v1) Reviewed-by: Timothy Arceri <[email protected]> (v1) Reviewed-by: Samuel Pitoiset <[email protected]> | ||||
* | mesa: don't flag _NEW_PROGRAM_CONSTANTS for non-GLSL programs for st/mesa | Marek Olšák | 2017-06-22 | 4 | -8/+49 |
| | | | | | | | | | This has the benefit that we get to set up constants for exactly the shader stage that needs it. Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: flush vertices before updating ctx->_Shader | Marek Olšák | 2017-06-22 | 1 | -2/+2 |
| | | | | | | | Cc: 17.1 <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: set driver flags for glPopAttrib(GL_ENABLE_BIT) properly | Marek Olšák | 2017-06-22 | 1 | -0/+14 |
| | | | | | | Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: don't flag _NEW_POLYGON_STIPPLE for st/mesa | Marek Olšák | 2017-06-22 | 4 | -5/+13 |
| | | | | | | Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: don't flag _NEW_LINE for st/mesa | Marek Olšák | 2017-06-22 | 4 | -5/+12 |
| | | | | | | Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: don't flag _NEW_POLYGON for st/mesa | Marek Olšák | 2017-06-22 | 5 | -15/+39 |
| | | | | | | Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: don't flag _NEW_TRANSFORM for st/mesa if possible | Marek Olšák | 2017-06-22 | 4 | -7/+30 |
| | | | | | | Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: don't flag _NEW_TRANSFORM for Transform.RasterPositionUnclipped | Marek Olšák | 2017-06-22 | 1 | -1/+1 |
| | | | | | | | | It's not a driver state, it's for glRasterPos. Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: don't flag _NEW_TRANSFORM for primitive restart | Marek Olšák | 2017-06-22 | 2 | -3/+3 |
| | | | | | | | | It's a draw state. Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: don't flag _NEW_VIEWPORT for st/mesa if possible | Marek Olšák | 2017-06-22 | 3 | -5/+16 |
| | | | | | | Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: flush vertices before changing viewports | Marek Olšák | 2017-06-22 | 1 | -2/+4 |
| | | | | | | | | Cc: 17.1 <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: don't flag _NEW_MULTISAMPLE for st/mesa | Marek Olšák | 2017-06-22 | 4 | -27/+68 |
| | | | | | | | | There are several new driver flags here so that it maps nicely to gallium. Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: don't flag _NEW_COLOR for st/mesa if possible | Marek Olšák | 2017-06-22 | 5 | -20/+65 |
| | | | | | | Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: use DriverFlags.NewAlphaTest to communicate alphatest changes to st/mesa | Marek Olšák | 2017-06-22 | 4 | -3/+9 |
| | | | | | | | | | | | | Now AlphaFunc avoids the blend state update in st/mesa and avoids _mesa_update_state_locked. The GL_ALPHA_TEST enable won't trigger blend state updates in st/mesa after st/mesa stops relying on _NEW_COLOR. Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: don't flag _NEW_DEPTH for st/mesa | Marek Olšák | 2017-06-22 | 4 | -8/+14 |
| | | | | | | | | skipping _mesa_update_state_locked Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: make _mesa_set_varying_vp_inputs a no-op in GL core profile | Marek Olšák | 2017-06-22 | 1 | -0/+4 |
| | | | | | | | | just don't set _NEW_VARYING_VP_INPUTS. Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: remove _NEW_BUFFER_OBJECT | Marek Olšák | 2017-06-22 | 3 | -6/+4 |
| | | | | | | | | not used Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> | ||||
* | mesa: don't flag _NEW_SCISSOR for st/mesa | Marek Olšák | 2017-06-22 | 2 | -3/+5 |
| | | | | | | | | | Not needed and we get to bypass _mesa_update_state_locked that would be a no-op. Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> |