Revert "Rely on BO pixmaps being present in acceleration paths."
This reverts commit 4653a7db62.
Eric was getting a little too ambitious about our brave, new world.
We do still want the driver to work with old, non-GEM kernels
after all.
This commit is contained in:
parent
1a039f4371
commit
8e942b70cb
|
|
@ -102,9 +102,16 @@ intel_batch_emit_reloc_pixmap(I830Ptr pI830, PixmapPtr pPixmap,
|
|||
uint32_t delta)
|
||||
{
|
||||
dri_bo *bo = i830_get_pixmap_bo(pPixmap);
|
||||
uint32_t offset;
|
||||
assert(pI830->batch_ptr != NULL);
|
||||
assert(intel_batch_space(pI830) >= 4);
|
||||
intel_batch_emit_reloc(pI830, bo, read_domains, write_domain, delta);
|
||||
if (bo) {
|
||||
intel_batch_emit_reloc(pI830, bo, read_domains, write_domain, delta);
|
||||
return;
|
||||
}
|
||||
offset = intel_get_pixmap_offset(pPixmap);
|
||||
*(uint32_t *)(pI830->batch_ptr + pI830->batch_used) = offset + delta;
|
||||
pI830->batch_used += 4;
|
||||
}
|
||||
|
||||
#define OUT_BATCH(dword) intel_batch_emit_dword(pI830, dword)
|
||||
|
|
|
|||
|
|
@ -923,7 +923,6 @@ i965_set_picture_surface_state(dri_bo *ss_bo, int ss_index,
|
|||
struct brw_surface_state_padded *ss;
|
||||
struct brw_surface_state local_ss;
|
||||
dri_bo *pixmap_bo = i830_get_pixmap_bo(pPixmap);
|
||||
uint32_t write_domain, read_domains;
|
||||
|
||||
ss = (struct brw_surface_state_padded *)ss_bo->virtual + ss_index;
|
||||
|
||||
|
|
@ -953,7 +952,10 @@ i965_set_picture_surface_state(dri_bo *ss_bo, int ss_index,
|
|||
local_ss.ss0.vert_line_stride_ofs = 0;
|
||||
local_ss.ss0.mipmap_layout_mode = 0;
|
||||
local_ss.ss0.render_cache_read_mode = 0;
|
||||
local_ss.ss1.base_addr = pixmap_bo->offset;
|
||||
if (pixmap_bo != NULL)
|
||||
local_ss.ss1.base_addr = pixmap_bo->offset;
|
||||
else
|
||||
local_ss.ss1.base_addr = intel_get_pixmap_offset(pPixmap);
|
||||
|
||||
local_ss.ss2.mip_count = 0;
|
||||
local_ss.ss2.render_target_rotation = 0;
|
||||
|
|
@ -965,20 +967,22 @@ i965_set_picture_surface_state(dri_bo *ss_bo, int ss_index,
|
|||
|
||||
memcpy(ss, &local_ss, sizeof(local_ss));
|
||||
|
||||
if (pixmap_bo != NULL) {
|
||||
uint32_t write_domain, read_domains;
|
||||
|
||||
if (is_dst) {
|
||||
write_domain = I915_GEM_DOMAIN_RENDER;
|
||||
read_domains = I915_GEM_DOMAIN_RENDER;
|
||||
} else {
|
||||
write_domain = 0;
|
||||
read_domains = I915_GEM_DOMAIN_SAMPLER;
|
||||
if (is_dst) {
|
||||
write_domain = I915_GEM_DOMAIN_RENDER;
|
||||
read_domains = I915_GEM_DOMAIN_RENDER;
|
||||
} else {
|
||||
write_domain = 0;
|
||||
read_domains = I915_GEM_DOMAIN_SAMPLER;
|
||||
}
|
||||
dri_bo_emit_reloc(ss_bo, read_domains, write_domain,
|
||||
0,
|
||||
ss_index * sizeof(*ss) +
|
||||
offsetof(struct brw_surface_state, ss1),
|
||||
pixmap_bo);
|
||||
}
|
||||
drm_intel_bo_emit_reloc(ss_bo,
|
||||
ss_index * sizeof(*ss) +
|
||||
offsetof(struct brw_surface_state, ss1),
|
||||
pixmap_bo,
|
||||
0,
|
||||
read_domains, write_domain);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Reference in New Issue