glamor: Add macro __glamor_large in glamor_largepixmap.c
For now, this simply fetches the large member of the pixmap private. It will be changed to assert that the pixmap is large once bugs related to that have been fixed. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
16e429f1f9
commit
bab319763c
|
@ -2,6 +2,14 @@
|
||||||
|
|
||||||
#include "glamor_priv.h"
|
#include "glamor_priv.h"
|
||||||
|
|
||||||
|
static inline glamor_pixmap_private_large_t *
|
||||||
|
__glamor_large(glamor_pixmap_private *pixmap_priv) {
|
||||||
|
#if 0
|
||||||
|
assert(pixmap_priv->type == GLAMOR_TEXTURE_LARGE);
|
||||||
|
#endif
|
||||||
|
return &pixmap_priv->large;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clip the boxes regards to each pixmap's block array.
|
* Clip the boxes regards to each pixmap's block array.
|
||||||
*
|
*
|
||||||
|
@ -343,8 +351,6 @@ _glamor_compute_clipped_regions(glamor_pixmap_private *pixmap_priv,
|
||||||
int x_center_shift = 0, y_center_shift = 0;
|
int x_center_shift = 0, y_center_shift = 0;
|
||||||
glamor_pixmap_private_large_t *priv;
|
glamor_pixmap_private_large_t *priv;
|
||||||
|
|
||||||
priv = &pixmap_priv->large;
|
|
||||||
|
|
||||||
DEBUGRegionPrint(region);
|
DEBUGRegionPrint(region);
|
||||||
if (pixmap_priv->type != GLAMOR_TEXTURE_LARGE) {
|
if (pixmap_priv->type != GLAMOR_TEXTURE_LARGE) {
|
||||||
clipped_regions = calloc(1, sizeof(*clipped_regions));
|
clipped_regions = calloc(1, sizeof(*clipped_regions));
|
||||||
|
@ -355,6 +361,8 @@ _glamor_compute_clipped_regions(glamor_pixmap_private *pixmap_priv,
|
||||||
return clipped_regions;
|
return clipped_regions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
priv = __glamor_large(pixmap_priv);
|
||||||
|
|
||||||
pixmap_width = priv->base.pixmap->drawable.width;
|
pixmap_width = priv->base.pixmap->drawable.width;
|
||||||
pixmap_height = priv->base.pixmap->drawable.height;
|
pixmap_height = priv->base.pixmap->drawable.height;
|
||||||
if (repeat_type == 0 || repeat_type == RepeatPad) {
|
if (repeat_type == 0 || repeat_type == RepeatPad) {
|
||||||
|
@ -751,7 +759,7 @@ glamor_merge_clipped_regions(glamor_pixmap_private *pixmap_priv,
|
||||||
int pixmap_width, pixmap_height;
|
int pixmap_width, pixmap_height;
|
||||||
glamor_pixmap_private_large_t *priv;
|
glamor_pixmap_private_large_t *priv;
|
||||||
|
|
||||||
priv = &pixmap_priv->large;
|
priv = __glamor_large(pixmap_priv);
|
||||||
pixmap_width = priv->base.pixmap->drawable.width;
|
pixmap_width = priv->base.pixmap->drawable.width;
|
||||||
pixmap_height = priv->base.pixmap->drawable.height;
|
pixmap_height = priv->base.pixmap->drawable.height;
|
||||||
|
|
||||||
|
@ -985,15 +993,15 @@ _glamor_process_transformed_clipped_region(glamor_pixmap_private *priv,
|
||||||
shift_y = (temp_box->y1 - rem) / priv->base.pixmap->drawable.height;
|
shift_y = (temp_box->y1 - rem) / priv->base.pixmap->drawable.height;
|
||||||
|
|
||||||
if (shift_x != 0) {
|
if (shift_x != 0) {
|
||||||
priv->large.box.x1 +=
|
__glamor_large(priv)->box.x1 +=
|
||||||
shift_x * priv->base.pixmap->drawable.width;
|
shift_x * priv->base.pixmap->drawable.width;
|
||||||
priv->large.box.x2 +=
|
__glamor_large(priv)->box.x2 +=
|
||||||
shift_x * priv->base.pixmap->drawable.width;
|
shift_x * priv->base.pixmap->drawable.width;
|
||||||
}
|
}
|
||||||
if (shift_y != 0) {
|
if (shift_y != 0) {
|
||||||
priv->large.box.y1 +=
|
__glamor_large(priv)->box.y1 +=
|
||||||
shift_y * priv->base.pixmap->drawable.height;
|
shift_y * priv->base.pixmap->drawable.height;
|
||||||
priv->large.box.y2 +=
|
__glamor_large(priv)->box.y2 +=
|
||||||
shift_y * priv->base.pixmap->drawable.height;
|
shift_y * priv->base.pixmap->drawable.height;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1071,8 +1079,8 @@ glamor_composite_largepixmap_region(CARD8 op,
|
||||||
int source_transformed_block_width, source_transformed_block_height;
|
int source_transformed_block_width, source_transformed_block_height;
|
||||||
|
|
||||||
if (!glamor_get_transform_block_size(source->transform,
|
if (!glamor_get_transform_block_size(source->transform,
|
||||||
source_pixmap_priv->large.block_w,
|
__glamor_large(source_pixmap_priv)->block_w,
|
||||||
source_pixmap_priv->large.block_h,
|
__glamor_large(source_pixmap_priv)->block_h,
|
||||||
&source_transformed_block_width,
|
&source_transformed_block_width,
|
||||||
&source_transformed_block_height))
|
&source_transformed_block_height))
|
||||||
{
|
{
|
||||||
|
@ -1093,8 +1101,8 @@ glamor_composite_largepixmap_region(CARD8 op,
|
||||||
int mask_transformed_block_width, mask_transformed_block_height;
|
int mask_transformed_block_width, mask_transformed_block_height;
|
||||||
|
|
||||||
if (!glamor_get_transform_block_size(mask->transform,
|
if (!glamor_get_transform_block_size(mask->transform,
|
||||||
mask_pixmap_priv->large.block_w,
|
__glamor_large(mask_pixmap_priv)->block_w,
|
||||||
mask_pixmap_priv->large.block_h,
|
__glamor_large(mask_pixmap_priv)->block_h,
|
||||||
&mask_transformed_block_width,
|
&mask_transformed_block_width,
|
||||||
&mask_transformed_block_height)) {
|
&mask_transformed_block_height)) {
|
||||||
DEBUGF("mask block size less than 1, fallback.\n");
|
DEBUGF("mask block size less than 1, fallback.\n");
|
||||||
|
@ -1271,8 +1279,8 @@ glamor_composite_largepixmap_region(CARD8 op,
|
||||||
clipped_mask_regions[k].
|
clipped_mask_regions[k].
|
||||||
block_idx);
|
block_idx);
|
||||||
DEBUGF("mask fbo off %d %d \n",
|
DEBUGF("mask fbo off %d %d \n",
|
||||||
mask_pixmap_priv->large.box.x1,
|
__glamor_large(mask_pixmap_priv)->box.x1,
|
||||||
mask_pixmap_priv->large.box.y1);
|
__glamor_large(mask_pixmap_priv)->box.y1);
|
||||||
DEBUGF("start composite mask hasn't transform.\n");
|
DEBUGF("start composite mask hasn't transform.\n");
|
||||||
RegionTranslate(clipped_mask_regions[k].region,
|
RegionTranslate(clipped_mask_regions[k].region,
|
||||||
x_dest - x_mask +
|
x_dest - x_mask +
|
||||||
|
|
Loading…
Reference in New Issue