[Mesa-dev] [PATCH 7/7] amd: move r600d_common.h into r600g

Nicolai Hähnle nhaehnle at gmail.com
Mon Oct 9 13:31:06 UTC 2017


I've sent a comment on patch #5. Apart from that, the series is

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

On 08.10.2017 00:47, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
> 
> ---
>   src/amd/Makefile.sources                           |  1 -
>   src/amd/vulkan/radv_cmd_buffer.c                   |  2 +-
>   src/amd/vulkan/radv_cs.h                           | 14 +++++------
>   src/amd/vulkan/radv_formats.c                      | 29 +++++++++++-----------
>   src/amd/vulkan/radv_pipeline.c                     |  1 -
>   src/amd/vulkan/radv_query.c                        |  2 +-
>   src/amd/vulkan/radv_shader.c                       |  1 -
>   src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.h      |  1 -
>   src/gallium/drivers/r600/Makefile.sources          |  2 ++
>   src/gallium/drivers/r600/r600_cs.h                 |  2 +-
>   src/gallium/drivers/r600/r600_perfcounter.c        |  2 +-
>   .../common => gallium/drivers/r600}/r600d_common.h |  0
>   12 files changed, 27 insertions(+), 30 deletions(-)
>   rename src/{amd/common => gallium/drivers/r600}/r600d_common.h (100%)
> 
> diff --git a/src/amd/Makefile.sources b/src/amd/Makefile.sources
> index 4accab0..bacba23 100644
> --- a/src/amd/Makefile.sources
> +++ b/src/amd/Makefile.sources
> @@ -1,14 +1,13 @@
>   COMMON_HEADER_FILES = \
>   	common/gfx9d.h \
>   	common/sid.h \
> -	common/r600d_common.h \
>   	common/amd_family.h \
>   	common/amd_kernel_code_t.h \
>   	common/amdgpu_id.h
>   
>   ADDRLIB_FILES = \
>   	addrlib/addrinterface.cpp \
>   	addrlib/addrinterface.h \
>   	addrlib/addrtypes.h \
>   	addrlib/core/addrcommon.h \
>   	addrlib/core/addrelemlib.cpp \
> diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
> index 4820cfa..702036c 100644
> --- a/src/amd/vulkan/radv_cmd_buffer.c
> +++ b/src/amd/vulkan/radv_cmd_buffer.c
> @@ -3608,21 +3608,21 @@ static void write_event(struct radv_cmd_buffer *cmd_buffer,
>   
>   	MAYBE_UNUSED unsigned cdw_max = radeon_check_space(cmd_buffer->device->ws, cs, 18);
>   
>   	/* TODO: this is overkill. Probably should figure something out from
>   	 * the stage mask. */
>   
>   	si_cs_emit_write_event_eop(cs,
>   				   cmd_buffer->state.predicating,
>   				   cmd_buffer->device->physical_device->rad_info.chip_class,
>   				   false,
> -				   EVENT_TYPE_BOTTOM_OF_PIPE_TS, 0,
> +				   V_028A90_BOTTOM_OF_PIPE_TS, 0,
>   				   1, va, 2, value);
>   
>   	assert(cmd_buffer->cs->cdw <= cdw_max);
>   }
>   
>   void radv_CmdSetEvent(VkCommandBuffer commandBuffer,
>   		      VkEvent _event,
>   		      VkPipelineStageFlags stageMask)
>   {
>   	RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer);
> diff --git a/src/amd/vulkan/radv_cs.h b/src/amd/vulkan/radv_cs.h
> index 0990270..8405976 100644
> --- a/src/amd/vulkan/radv_cs.h
> +++ b/src/amd/vulkan/radv_cs.h
> @@ -21,70 +21,70 @@
>    * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
>    * IN THE SOFTWARE.
>    */
>   
>   #ifndef RADV_CS_H
>   #define RADV_CS_H
>   
>   #include <string.h>
>   #include <stdint.h>
>   #include <assert.h>
> -#include "r600d_common.h"
> +#include "sid.h"
>   
>   static inline unsigned radeon_check_space(struct radeon_winsys *ws,
>                                         struct radeon_winsys_cs *cs,
>                                         unsigned needed)
>   {
>           if (cs->max_dw - cs->cdw < needed)
>                   ws->cs_grow(cs, needed);
>           return cs->cdw + needed;
>   }
>   
>   static inline void radeon_set_config_reg_seq(struct radeon_winsys_cs *cs, unsigned reg, unsigned num)
>   {
> -        assert(reg < R600_CONTEXT_REG_OFFSET);
> +        assert(reg < SI_CONTEXT_REG_OFFSET);
>           assert(cs->cdw + 2 + num <= cs->max_dw);
>           assert(num);
>           radeon_emit(cs, PKT3(PKT3_SET_CONFIG_REG, num, 0));
> -        radeon_emit(cs, (reg - R600_CONFIG_REG_OFFSET) >> 2);
> +        radeon_emit(cs, (reg - SI_CONFIG_REG_OFFSET) >> 2);
>   }
>   
>   static inline void radeon_set_config_reg(struct radeon_winsys_cs *cs, unsigned reg, unsigned value)
>   {
>           radeon_set_config_reg_seq(cs, reg, 1);
>           radeon_emit(cs, value);
>   }
>   
>   static inline void radeon_set_context_reg_seq(struct radeon_winsys_cs *cs, unsigned reg, unsigned num)
>   {
> -        assert(reg >= R600_CONTEXT_REG_OFFSET);
> +        assert(reg >= SI_CONTEXT_REG_OFFSET);
>           assert(cs->cdw + 2 + num <= cs->max_dw);
>           assert(num);
>           radeon_emit(cs, PKT3(PKT3_SET_CONTEXT_REG, num, 0));
> -        radeon_emit(cs, (reg - R600_CONTEXT_REG_OFFSET) >> 2);
> +        radeon_emit(cs, (reg - SI_CONTEXT_REG_OFFSET) >> 2);
>   }
>   
>   static inline void radeon_set_context_reg(struct radeon_winsys_cs *cs, unsigned reg, unsigned value)
>   {
>           radeon_set_context_reg_seq(cs, reg, 1);
>           radeon_emit(cs, value);
>   }
>   
>   
>   static inline void radeon_set_context_reg_idx(struct radeon_winsys_cs *cs,
>   					      unsigned reg, unsigned idx,
>   					      unsigned value)
>   {
> -	assert(reg >= R600_CONTEXT_REG_OFFSET);
> +	assert(reg >= SI_CONTEXT_REG_OFFSET);
>   	assert(cs->cdw + 3 <= cs->max_dw);
>   	radeon_emit(cs, PKT3(PKT3_SET_CONTEXT_REG, 1, 0));
> -	radeon_emit(cs, (reg - R600_CONTEXT_REG_OFFSET) >> 2 | (idx << 28));
> +	radeon_emit(cs, (reg - SI_CONTEXT_REG_OFFSET) >> 2 | (idx << 28));
>   	radeon_emit(cs, value);
>   }
>   
>   static inline void radeon_set_sh_reg_seq(struct radeon_winsys_cs *cs, unsigned reg, unsigned num)
>   {
>   	assert(reg >= SI_SH_REG_OFFSET && reg < SI_SH_REG_END);
>   	assert(cs->cdw + 2 + num <= cs->max_dw);
>   	assert(num);
>   	radeon_emit(cs, PKT3(PKT3_SET_SH_REG, num, 0));
>   	radeon_emit(cs, (reg - SI_SH_REG_OFFSET) >> 2);
> diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c
> index 2444541..88305ab 100644
> --- a/src/amd/vulkan/radv_formats.c
> +++ b/src/amd/vulkan/radv_formats.c
> @@ -19,21 +19,20 @@
>    * 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 "radv_private.h"
>   
>   #include "vk_format.h"
>   #include "sid.h"
> -#include "r600d_common.h"
>   
>   #include "vk_util.h"
>   
>   #include "util/u_half.h"
>   #include "util/format_srgb.h"
>   #include "util/format_r11g11b10f.h"
>   
>   uint32_t radv_translate_buffer_dataformat(const struct vk_format_description *desc,
>   					  int first_non_void)
>   {
> @@ -760,67 +759,67 @@ uint32_t radv_translate_dbformat(VkFormat format)
>   	}
>   }
>   
>   unsigned radv_translate_colorswap(VkFormat format, bool do_endian_swap)
>   {
>   	const struct vk_format_description *desc = vk_format_description(format);
>   
>   #define HAS_SWIZZLE(chan,swz) (desc->swizzle[chan] == VK_SWIZZLE_##swz)
>   
>   	if (format == VK_FORMAT_B10G11R11_UFLOAT_PACK32)
> -		return V_0280A0_SWAP_STD;
> +		return V_028C70_SWAP_STD;
>   
>   	if (desc->layout != VK_FORMAT_LAYOUT_PLAIN)
>   		return ~0U;
>   
>   	switch (desc->nr_channels) {
>   	case 1:
>   		if (HAS_SWIZZLE(0,X))
> -			return V_0280A0_SWAP_STD; /* X___ */
> +			return V_028C70_SWAP_STD; /* X___ */
>   		else if (HAS_SWIZZLE(3,X))
> -			return V_0280A0_SWAP_ALT_REV; /* ___X */
> +			return V_028C70_SWAP_ALT_REV; /* ___X */
>   		break;
>   	case 2:
>   		if ((HAS_SWIZZLE(0,X) && HAS_SWIZZLE(1,Y)) ||
>   		    (HAS_SWIZZLE(0,X) && HAS_SWIZZLE(1,NONE)) ||
>   		    (HAS_SWIZZLE(0,NONE) && HAS_SWIZZLE(1,Y)))
> -			return V_0280A0_SWAP_STD; /* XY__ */
> +			return V_028C70_SWAP_STD; /* XY__ */
>   		else if ((HAS_SWIZZLE(0,Y) && HAS_SWIZZLE(1,X)) ||
>   			 (HAS_SWIZZLE(0,Y) && HAS_SWIZZLE(1,NONE)) ||
>   		         (HAS_SWIZZLE(0,NONE) && HAS_SWIZZLE(1,X)))
>   			/* YX__ */
> -			return (do_endian_swap ? V_0280A0_SWAP_STD : V_0280A0_SWAP_STD_REV);
> +			return (do_endian_swap ? V_028C70_SWAP_STD : V_028C70_SWAP_STD_REV);
>   		else if (HAS_SWIZZLE(0,X) && HAS_SWIZZLE(3,Y))
> -			return V_0280A0_SWAP_ALT; /* X__Y */
> +			return V_028C70_SWAP_ALT; /* X__Y */
>   		else if (HAS_SWIZZLE(0,Y) && HAS_SWIZZLE(3,X))
> -			return V_0280A0_SWAP_ALT_REV; /* Y__X */
> +			return V_028C70_SWAP_ALT_REV; /* Y__X */
>   		break;
>   	case 3:
>   		if (HAS_SWIZZLE(0,X))
> -			return (do_endian_swap ? V_0280A0_SWAP_STD_REV : V_0280A0_SWAP_STD);
> +			return (do_endian_swap ? V_028C70_SWAP_STD_REV : V_028C70_SWAP_STD);
>   		else if (HAS_SWIZZLE(0,Z))
> -			return V_0280A0_SWAP_STD_REV; /* ZYX */
> +			return V_028C70_SWAP_STD_REV; /* ZYX */
>   		break;
>   	case 4:
>   		/* check the middle channels, the 1st and 4th channel can be NONE */
>   		if (HAS_SWIZZLE(1,Y) && HAS_SWIZZLE(2,Z)) {
> -			return V_0280A0_SWAP_STD; /* XYZW */
> +			return V_028C70_SWAP_STD; /* XYZW */
>   		} else if (HAS_SWIZZLE(1,Z) && HAS_SWIZZLE(2,Y)) {
> -			return V_0280A0_SWAP_STD_REV; /* WZYX */
> +			return V_028C70_SWAP_STD_REV; /* WZYX */
>   		} else if (HAS_SWIZZLE(1,Y) && HAS_SWIZZLE(2,X)) {
> -			return V_0280A0_SWAP_ALT; /* ZYXW */
> +			return V_028C70_SWAP_ALT; /* ZYXW */
>   		} else if (HAS_SWIZZLE(1,Z) && HAS_SWIZZLE(2,W)) {
>   			/* YZWX */
>   			if (desc->is_array)
> -				return V_0280A0_SWAP_ALT_REV;
> +				return V_028C70_SWAP_ALT_REV;
>   			else
> -				return (do_endian_swap ? V_0280A0_SWAP_ALT : V_0280A0_SWAP_ALT_REV);
> +				return (do_endian_swap ? V_028C70_SWAP_ALT : V_028C70_SWAP_ALT_REV);
>   		}
>   		break;
>   	}
>   	return ~0U;
>   }
>   
>   bool radv_format_pack_clear_color(VkFormat format,
>   				  uint32_t clear_vals[2],
>   				  VkClearColorValue *value)
>   {
> diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c
> index 60b1d3e..f174c40 100644
> --- a/src/amd/vulkan/radv_pipeline.c
> +++ b/src/amd/vulkan/radv_pipeline.c
> @@ -33,21 +33,20 @@
>   #include "nir/nir.h"
>   #include "nir/nir_builder.h"
>   #include "spirv/nir_spirv.h"
>   #include "vk_util.h"
>   
>   #include <llvm-c/Core.h>
>   #include <llvm-c/TargetMachine.h>
>   
>   #include "sid.h"
>   #include "gfx9d.h"
> -#include "r600d_common.h"
>   #include "ac_binary.h"
>   #include "ac_llvm_util.h"
>   #include "ac_nir_to_llvm.h"
>   #include "vk_format.h"
>   #include "util/debug.h"
>   #include "ac_exp_param.h"
>   
>   static void
>   radv_pipeline_destroy(struct radv_device *device,
>                         struct radv_pipeline *pipeline,
> diff --git a/src/amd/vulkan/radv_query.c b/src/amd/vulkan/radv_query.c
> index b2ef805..06045d6 100644
> --- a/src/amd/vulkan/radv_query.c
> +++ b/src/amd/vulkan/radv_query.c
> @@ -1146,21 +1146,21 @@ void radv_CmdEndQuery(
>   
>   		radeon_emit(cs, PKT3(PKT3_EVENT_WRITE, 2, 0));
>   		radeon_emit(cs, EVENT_TYPE(V_028A90_SAMPLE_PIPELINESTAT) | EVENT_INDEX(2));
>   		radeon_emit(cs, va);
>   		radeon_emit(cs, va >> 32);
>   
>   		si_cs_emit_write_event_eop(cs,
>   					   false,
>   					   cmd_buffer->device->physical_device->rad_info.chip_class,
>   					   false,
> -					   EVENT_TYPE_BOTTOM_OF_PIPE_TS, 0,
> +					   V_028A90_BOTTOM_OF_PIPE_TS, 0,
>   					   1, avail_va, 0, 1);
>   		break;
>   	default:
>   		unreachable("ending unhandled query type");
>   	}
>   }
>   
>   void radv_CmdWriteTimestamp(
>       VkCommandBuffer                             commandBuffer,
>       VkPipelineStageFlagBits                     pipelineStage,
> diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c
> index 285f42e..e0944a4 100644
> --- a/src/amd/vulkan/radv_shader.c
> +++ b/src/amd/vulkan/radv_shader.c
> @@ -32,21 +32,20 @@
>   #include "radv_shader.h"
>   #include "nir/nir.h"
>   #include "nir/nir_builder.h"
>   #include "spirv/nir_spirv.h"
>   
>   #include <llvm-c/Core.h>
>   #include <llvm-c/TargetMachine.h>
>   
>   #include "sid.h"
>   #include "gfx9d.h"
> -#include "r600d_common.h"
>   #include "ac_binary.h"
>   #include "ac_llvm_util.h"
>   #include "ac_nir_to_llvm.h"
>   #include "vk_format.h"
>   #include "util/debug.h"
>   #include "ac_exp_param.h"
>   
>   static const struct nir_shader_compiler_options nir_options = {
>   	.vertex_id_zero_based = true,
>   	.lower_scmp = true,
> diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.h b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.h
> index 42d89ee..135d4fa 100644
> --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.h
> +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.h
> @@ -25,21 +25,20 @@
>    * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
>    * IN THE SOFTWARE.
>    */
>   
>   #ifndef RADV_AMDGPU_CS_H
>   #define RADV_AMDGPU_CS_H
>   
>   #include <string.h>
>   #include <stdint.h>
>   #include <assert.h>
> -#include "r600d_common.h"
>   #include <amdgpu.h>
>   
>   #include "radv_radeon_winsys.h"
>   #include "radv_amdgpu_winsys.h"
>   
>   enum {
>   	MAX_RINGS_PER_TYPE = 8
>   };
>   
>   
> diff --git a/src/gallium/drivers/r600/Makefile.sources b/src/gallium/drivers/r600/Makefile.sources
> index c232d6a..60fdc05 100644
> --- a/src/gallium/drivers/r600/Makefile.sources
> +++ b/src/gallium/drivers/r600/Makefile.sources
> @@ -1,11 +1,13 @@
> +
>   C_SOURCES = \
> +	r600d_common.h \
>   	compute_memory_pool.c \
>   	compute_memory_pool.h \
>   	eg_asm.c \
>   	eg_debug.c \
>   	eg_sq.h \
>   	evergreen_compute.c \
>   	evergreen_compute.h \
>   	evergreen_compute_internal.h \
>   	evergreend.h \
>   	evergreen_hw_context.c \
> diff --git a/src/gallium/drivers/r600/r600_cs.h b/src/gallium/drivers/r600/r600_cs.h
> index 28bdf15..0efae09 100644
> --- a/src/gallium/drivers/r600/r600_cs.h
> +++ b/src/gallium/drivers/r600/r600_cs.h
> @@ -24,21 +24,21 @@
>    */
>   
>   /**
>    * This file contains helpers for writing commands to commands streams.
>    */
>   
>   #ifndef R600_CS_H
>   #define R600_CS_H
>   
>   #include "r600_pipe_common.h"
> -#include "amd/common/r600d_common.h"
> +#include "r600d_common.h"
>   
>   /**
>    * Return true if there is enough memory in VRAM and GTT for the buffers
>    * added so far.
>    *
>    * \param vram      VRAM memory size not added to the buffer list yet
>    * \param gtt       GTT memory size not added to the buffer list yet
>    */
>   static inline bool
>   radeon_cs_memory_below_limit(struct r600_common_screen *screen,
> diff --git a/src/gallium/drivers/r600/r600_perfcounter.c b/src/gallium/drivers/r600/r600_perfcounter.c
> index 48f609b..f186acb 100644
> --- a/src/gallium/drivers/r600/r600_perfcounter.c
> +++ b/src/gallium/drivers/r600/r600_perfcounter.c
> @@ -21,21 +21,21 @@
>    * SOFTWARE.
>    *
>    * Authors:
>    *  Nicolai Hähnle <nicolai.haehnle at amd.com>
>    *
>    */
>   
>   #include "util/u_memory.h"
>   #include "r600_query.h"
>   #include "r600_pipe_common.h"
> -#include "amd/common/r600d_common.h"
> +#include "r600d_common.h"
>   
>   /* Max counters per HW block */
>   #define R600_QUERY_MAX_COUNTERS 16
>   
>   static struct r600_perfcounter_block *
>   lookup_counter(struct r600_perfcounters *pc, unsigned index,
>   	       unsigned *base_gid, unsigned *sub_index)
>   {
>   	struct r600_perfcounter_block *block = pc->blocks;
>   	unsigned bid;
> diff --git a/src/amd/common/r600d_common.h b/src/gallium/drivers/r600/r600d_common.h
> similarity index 100%
> rename from src/amd/common/r600d_common.h
> rename to src/gallium/drivers/r600/r600d_common.h
> 


-- 
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.


More information about the mesa-dev mailing list