struct panfrost_device *dev = pan_device(pipe->screen);
struct panfrost_context *ctx = pan_context(pipe);
struct panfrost_blend_state *so = rzalloc(ctx, struct panfrost_blend_state);
- unsigned version = dev->gpu_id >> 12;
so->base = *blend;
/* TODO: The following features are not yet implemented */
panfrost_make_fixed_blend_mode(pipe, &rt->equation);
/* v6 doesn't support blend constants in FF blend equations. */
- if (rt->has_fixed_function && version == 6 && rt->constant_mask)
+ if (rt->has_fixed_function && dev->arch == 6 && rt->constant_mask)
rt->has_fixed_function = false;
if (rt->has_fixed_function) {
struct MALI_RENDER_TARGET *rt)
{
struct panfrost_device *dev = pan_device(surf->context->screen);
- unsigned version = dev->gpu_id >> 12;
struct panfrost_resource *rsrc = pan_resource(surf->texture);
unsigned level = surf->u.tex.level;
unsigned first_layer = surf->u.tex.first_layer;
if (rsrc->layout.modifier == DRM_FORMAT_MOD_LINEAR) {
mali_ptr base = panfrost_get_texture_address(rsrc, level, first_layer, 0);
- if (version >= 7)
+ if (dev->arch >= 7)
rt->bifrost_v7.writeback_block_format = MALI_BLOCK_FORMAT_V7_LINEAR;
else
rt->midgard.writeback_block_format = MALI_BLOCK_FORMAT_LINEAR;
} else if (rsrc->layout.modifier == DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED) {
mali_ptr base = panfrost_get_texture_address(rsrc, level, first_layer, 0);
- if (version >= 7)
+ if (dev->arch >= 7)
rt->bifrost_v7.writeback_block_format = MALI_BLOCK_FORMAT_V7_TILED_U_INTERLEAVED;
else
rt->midgard.writeback_block_format = MALI_BLOCK_FORMAT_TILED_U_INTERLEAVED;
} else if (drm_is_afbc(rsrc->layout.modifier)) {
const struct panfrost_slice *slice = &rsrc->layout.slices[level];
- if (version >= 7)
+ if (dev->arch >= 7)
rt->bifrost_v7.writeback_block_format = MALI_BLOCK_FORMAT_V7_AFBC;
else
rt->midgard.writeback_block_format = MALI_BLOCK_FORMAT_AFBC;
unsigned rt_offset, unsigned rt_idx)
{
struct panfrost_device *dev = pan_device(batch->ctx->base.screen);
- unsigned version = dev->gpu_id >> 12;
pan_pack(rtp, RENDER_TARGET, rt) {
rt.clean_pixel_write_enable = true;
} else {
rt.internal_format = MALI_COLOR_BUFFER_INTERNAL_FORMAT_R8G8B8A8;
rt.internal_buffer_offset = rt_offset;
- if (version >= 7) {
+ if (dev->arch >= 7) {
rt.bifrost_v7.writeback_block_format = MALI_BLOCK_FORMAT_V7_TILED_U_INTERLEAVED;
rt.dithering_enable = true;
}
struct panfrost_slice **checksum_slice)
{
struct panfrost_device *dev = pan_device(batch->ctx->base.screen);
- unsigned version = dev->gpu_id >> 12;
/* Checksumming only works with a single render target */
if (batch->key.nr_cbufs == 1) {
else
ext->crc_base = rsrc->bo->ptr.gpu + slice->crc.offset;
- if ((batch->clear & PIPE_CLEAR_COLOR0) && version >= 7) {
+ if ((batch->clear & PIPE_CLEAR_COLOR0) && dev->arch >= 7) {
ext->crc_clear_color = batch->clear_color[0][0] |
0xc000000000000000 |
((uint64_t)batch->clear_color[0][0] & 0xffff) << 32;
unsigned first_layer = zs_surf->u.tex.first_layer;
assert(zs_surf->u.tex.last_layer == first_layer);
- if (version < 7)
+ if (dev->arch < 7)
ext->zs_msaa = nr_samples > 1 ? MALI_MSAA_LAYERED : MALI_MSAA_SINGLE;
else
ext->zs_msaa_v7 = nr_samples > 1 ? MALI_MSAA_LAYERED : MALI_MSAA_SINGLE;
&ext->zs_afbc_header,
&ext->zs_afbc_body);
- if (version >= 7)
+ if (dev->arch >= 7)
ext->zs_block_format_v7 = MALI_BLOCK_FORMAT_V7_AFBC;
else
ext->zs_block_format = MALI_BLOCK_FORMAT_AFBC;
rsrc->layout.slices[level].surface_stride : 0;
if (rsrc->layout.modifier == DRM_FORMAT_MOD_LINEAR) {
- if (version >= 7)
+ if (dev->arch >= 7)
ext->zs_block_format_v7 = MALI_BLOCK_FORMAT_V7_LINEAR;
else
ext->zs_block_format = MALI_BLOCK_FORMAT_LINEAR;
} else {
- if (version >= 7)
+ if (dev->arch >= 7)
ext->zs_block_format_v7 = MALI_BLOCK_FORMAT_V7_TILED_U_INTERLEAVED;
else
ext->zs_block_format = MALI_BLOCK_FORMAT_TILED_U_INTERLEAVED;
*/
ext->zs_write_format = MALI_ZS_FORMAT_D32;
ext->s_write_format = MALI_S_FORMAT_S8;
- if (version < 7) {
+ if (dev->arch < 7) {
ext->s_block_format = ext->zs_block_format;
ext->s_msaa = ext->zs_msaa;
} else {