mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 02:10:11 +01:00
i965/blorp: Clarify why width/height must be adjusted for Gen6 IMS surfaces.
Also add a clarifying comment for why the width/height doesn't need adjustment for Gen7. NOTE: This is a candidate for stable release branches. Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
bde833c9d0
commit
32c7b2769c
2 changed files with 10 additions and 1 deletions
|
|
@ -415,7 +415,11 @@ gen6_blorp_emit_surface_state(struct brw_context *brw,
|
|||
uint32_t wm_surf_offset;
|
||||
uint32_t width, height;
|
||||
surface->get_miplevel_dims(&width, &height);
|
||||
if (surface->num_samples > 1) { /* TODO: seems clumsy */
|
||||
if (surface->num_samples > 1) {
|
||||
/* Since gen6 uses INTEL_MSAA_LAYOUT_IMS, width and height are measured
|
||||
* in samples. But SURFACE_STATE wants them in pixels, so we need to
|
||||
* divide them each by 2.
|
||||
*/
|
||||
width /= 2;
|
||||
height /= 2;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -144,6 +144,11 @@ gen7_blorp_emit_surface_state(struct brw_context *brw,
|
|||
uint32_t wm_surf_offset;
|
||||
uint32_t width, height;
|
||||
surface->get_miplevel_dims(&width, &height);
|
||||
/* Note: since gen7 uses INTEL_MSAA_LAYOUT_CMS or INTEL_MSAA_LAYOUT_UMS for
|
||||
* color surfaces, width and height are measured in pixels; we don't need
|
||||
* to divide them by 2 as we do for Gen6 (see
|
||||
* gen6_blorp_emit_surface_state).
|
||||
*/
|
||||
if (surface->map_stencil_as_y_tiled) {
|
||||
width *= 2;
|
||||
height /= 2;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue