[Mesa-dev] [PATCH 5/5] i965: Port 3DSTATE_VF_TOPOLOGY on gen8+ to genxml.
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Wed May 10 07:43:57 UTC 2017
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
On 10/05/17 01:12, Rafael Antognolli wrote:
> With this last state ported, we can get rid of gen8_draw_upload.c.
>
> Signed-off-by: Rafael Antognolli <rafael.antognolli at intel.com>
> ---
> src/mesa/drivers/dri/i965/Makefile.sources | 1 -
> src/mesa/drivers/dri/i965/brw_state.h | 1 -
> src/mesa/drivers/dri/i965/gen8_draw_upload.c | 53 ---------------------------
> src/mesa/drivers/dri/i965/genX_state_upload.c | 22 ++++++++++-
> 4 files changed, 21 insertions(+), 56 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/Makefile.sources b/src/mesa/drivers/dri/i965/Makefile.sources
> index 9e567cb..0221a97 100644
> --- a/src/mesa/drivers/dri/i965/Makefile.sources
> +++ b/src/mesa/drivers/dri/i965/Makefile.sources
> @@ -92,7 +92,6 @@ i965_FILES = \
> gen7_urb.c \
> gen7_wm_surface_state.c \
> gen8_depth_state.c \
> - gen8_draw_upload.c \
> gen8_multisample_state.c \
> gen8_surface_state.c \
> hsw_queryobj.c \
> diff --git a/src/mesa/drivers/dri/i965/brw_state.h b/src/mesa/drivers/dri/i965/brw_state.h
> index a9c3bf2..2682286 100644
> --- a/src/mesa/drivers/dri/i965/brw_state.h
> +++ b/src/mesa/drivers/dri/i965/brw_state.h
> @@ -113,7 +113,6 @@ extern const struct brw_tracked_state gen7_l3_state;
> extern const struct brw_tracked_state gen7_push_constant_space;
> extern const struct brw_tracked_state gen7_urb;
> extern const struct brw_tracked_state gen8_pma_fix;
> -extern const struct brw_tracked_state gen8_vf_topology;
> extern const struct brw_tracked_state brw_cs_work_groups_surface;
>
> static inline bool
> diff --git a/src/mesa/drivers/dri/i965/gen8_draw_upload.c b/src/mesa/drivers/dri/i965/gen8_draw_upload.c
> index 01c3ac3..e69de29 100644
> --- a/src/mesa/drivers/dri/i965/gen8_draw_upload.c
> +++ b/src/mesa/drivers/dri/i965/gen8_draw_upload.c
> @@ -1,53 +0,0 @@
> -/*
> - * Copyright © 2012 Intel Corporation
> - *
> - * Permission is hereby granted, free of charge, to any person obtaining a
> - * copy of this software and associated documentation files (the "Software"),
> - * to deal in the Software without restriction, including without limitation
> - * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> - * and/or sell copies of the Software, and to permit persons to whom the
> - * Software is furnished to do so, subject to the following conditions:
> - *
> - * The above copyright notice and this permission notice (including the next
> - * paragraph) shall be included in all copies or substantial portions of the
> - * Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
> - * IN THE SOFTWARE.
> - */
> -
> -#include "main/bufferobj.h"
> -#include "main/context.h"
> -#include "main/enums.h"
> -#include "main/macros.h"
> -
> -#include "brw_draw.h"
> -#include "brw_defines.h"
> -#include "brw_context.h"
> -#include "brw_state.h"
> -
> -#include "intel_batchbuffer.h"
> -#include "intel_buffer_objects.h"
> -
> -static void
> -gen8_emit_vf_topology(struct brw_context *brw)
> -{
> - BEGIN_BATCH(2);
> - OUT_BATCH(_3DSTATE_VF_TOPOLOGY << 16 | (2 - 2));
> - OUT_BATCH(brw->primitive);
> - ADVANCE_BATCH();
> -}
> -
> -const struct brw_tracked_state gen8_vf_topology = {
> - .dirty = {
> - .mesa = 0,
> - .brw = BRW_NEW_BLORP |
> - BRW_NEW_PRIMITIVE,
> - },
> - .emit = gen8_emit_vf_topology,
> -};
> diff --git a/src/mesa/drivers/dri/i965/genX_state_upload.c b/src/mesa/drivers/dri/i965/genX_state_upload.c
> index 96cad92..eef8fa7 100644
> --- a/src/mesa/drivers/dri/i965/genX_state_upload.c
> +++ b/src/mesa/drivers/dri/i965/genX_state_upload.c
> @@ -3991,7 +3991,27 @@ static const struct brw_tracked_state genX(ps_blend) = {
> },
> .emit = genX(upload_ps_blend)
> };
> +#endif
> +
> +/* ---------------------------------------------------------------------- */
> +
> +#if GEN_GEN >= 8
> +static void
> +genX(emit_vf_topology)(struct brw_context *brw)
> +{
> + brw_batch_emit(brw, GENX(3DSTATE_VF_TOPOLOGY), vftopo) {
> + vftopo.PrimitiveTopologyType = brw->primitive;
> + }
> +}
>
> +static const struct brw_tracked_state genX(vf_topology) = {
> + .dirty = {
> + .mesa = 0,
> + .brw = BRW_NEW_BLORP |
> + BRW_NEW_PRIMITIVE,
> + },
> + .emit = genX(emit_vf_topology),
> +};
> #endif
>
> /* ---------------------------------------------------------------------- */
> @@ -4329,7 +4349,7 @@ genX(init_atoms)(struct brw_context *brw)
>
> &genX(drawing_rect),
>
> - &gen8_vf_topology,
> + &genX(vf_topology),
>
> &brw_indices,
> &genX(index_buffer),
More information about the mesa-dev
mailing list