| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
The only alloc flag is INTEL_ALLOC_FOR_RENDER, which can as well be expressed
by specifying the initial write domain. The change makes it obvious that we
failed to set INTEL_ALLOC_FOR_RENDER in several places.
|
|
|
|
|
|
| |
Commit bfa8d21759c5f2b5b0885c696842167bd4c64fee uses it to work around a
hardware limitation. But there are other ways to do it without the need for
intel_bo_get_size().
|
|
|
|
| |
It happens to work because PIPE_USAGE_STAGING is 0x100.
|
|
|
|
|
| |
Assume the bo has been written by another process, which will trigger a HiZ
resolve.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to disable HiZ for non-8x4 aligned levels, except for level 0, layer
0. For the very first layer we can adjust Width and Height fields of
3DSTATE_DEPTH_BUFFER to make it aligned.
Specifically, add ILO_TEXTURE_HIZ and set the flag only for properly aligned
levels. ilo_texture_can_enable_hiz() is updated to check for the flag.
In tex_layout_validate(), align the depth bo to 8x4 so that we can adjust
Width/Height of 3DSTATE_DEPTH_BUFFER without introducing out-of-bound access.
Finally in rectlist blitter, add the ability to adjust 3DSTATE_DEPTH_BUFFER.
|
|
|
|
|
|
|
|
|
| |
Add tex_layout_init_hiz() before tex_layout_init_format() to decide whether
HiZ should be enabled.
On GEN6, because of layer offsetting, HiZ is enabled only when the texture is
non-mipmapped and non-array. PIPE_USAGE_STAGING is also taken as a hint to
disable HiZ.
|
|
|
|
| |
The comment was no longer true since 6642381e7513926b847d6bc10bf590e1c0c54859.
|
|
|
|
| |
On GEN6, HiZ and Separate Stencil Buffer must be enabled at the same time.
|
|
|
|
| |
Dereference the HiZ bo when the texture is destroyed.
|
|
|
|
|
|
| |
The support is still early. Fast depth buffer clear is not enabled yet.
HiZ can be forced off with ILO_DEBUG=nohiz.
|
|
|
|
|
| |
Rename ilo_texture::slice_offsets to ilo_texture::slices and add an accessor,
ilo_texture_get_slice().
|
|
|
|
| |
Add tex_create_hiz() to create HiZ bo. It is not really called yet.
|
|
|
|
|
| |
Move separate stencil allocation code to tex_create_separate_stencil to keep
tex_create sane.
|
|
|
|
|
|
| |
flags to enforce no tiling.
Signed-off-by: Axel Davy <[email protected]>
|
|
|
|
| |
The PRM specifies several padding requirements that we failed to honor.
|
|
|
|
|
|
| |
The motivation is to kill tiling and pitch in struct intel_bo. That requires
us to make tiling and pitch not queryable, and be passed around as function
parameters.
|
|
|
|
|
| |
We are moving toward making struct intel_bo alias drm_intel_bo. As a first
step, we cannot have function tables.
|
|
|
|
| |
Merge the bodies to tex_create_bo/buf_create_bo respectively.
|
|
|
|
|
|
| |
For allocations, we need to support stencil-only and separate stencil
resources. For mapping, we need to support software tiling and
packing/unpacking for separate stencil resources.
|
|
|
|
| |
Always return a tile-aligned offset. Also fix for W tiling.
|
|
|
|
|
| |
Use ilo_buffer for buffer resources and ilo_texture for texture resources. A
major cleanup is necessitated by the separation.
|
|
|
|
| |
In preparation for the introduction of ilo_buffer.
|
|
|
|
|
|
| |
Resource mapping is distinct from resource allocation, and is going to get
more and more complex. Move the related functions to a new file to make the
separation clear.
|
|
|
|
|
|
|
| |
Fixes "Uninitialized scalar variable" defect reported by Coverity.
Signed-off-by: Vinson Lee <[email protected]>
Reviewed-by: Chia-I Wu <[email protected]>
|
|
|
|
| |
It is decompressed to and stored as PIPE_FORMAT_R8G8B8X8_UNORM on-the-fly.
|
|
|
|
|
| |
It can be used for unpacking compressed texture on-the-fly or to support
explicit transfer flushing.
|
|
|
|
|
| |
We want to or need to use a different mapping method when when the resource is
busy, the bo format differs from the requested format, and etc.
|
|
|
|
|
| |
For separate stencil buffer or formats not supported natively, the real format
of the bo may differ from that requested.
|
|
|
|
| |
We do not allocate such resources yet though.
|
|
|
|
|
| |
As we do not advertise MSAA support, this change should not make any
difference yet.
|
|
|
|
|
| |
There is no reason to waste the memory when the HW can support compact array
spacing (ARYSPC_LOD0).
|
|
|
|
|
| |
The struct is used to describe the device information, such as PCI ID, GEN,
GT, and etc.
|
|
|
|
|
| |
GEN6 GPE (Graphics Processing Engine) is a low-level interface to emit 3D
commands and states.
|
| |
|
| |
|
|
This commit adds some boilerplate code. The header files found under include/
are copied from i965.
|