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]> | ||||
* | cso: inline a few frequently-used functions | Marek Olšák | 2017-06-22 | 2 | -31/+26 |
| | | | | Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | cso: don't return errors from sampler functions | Marek Olšák | 2017-06-22 | 2 | -18/+8 |
| | | | | | | No code checks the errors. Reviewed-by: Nicolai Hähnle <[email protected]> | ||||
* | cso: don't track the number of sampler states bound | Marek Olšák | 2017-06-22 | 1 | -36/+23 |
| | | | | | | | | | | | | This removes 2 loops from hot codepaths and adds 1 loop to a rare codepath (restore_sampler_states), and makes sanitize_hash() slightly worse. Sampler states, when bound, are not unbound for draw calls that don't need them. That's OK, because bound sampler states don't add any overhead. This results in lower CPU overhead in most cases. 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]> | ||||
* | glsl: Track whether uniforms are active per stage | Kenneth Graunke | 2017-06-22 | 3 | -0/+9 |
| | | | | | | | | | | for finer granularity state flagging v2: Marek - use a bitmask, add shader cache support 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 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]> |