mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-02 07:58:07 +02:00
i915: Only align texture pitch to 64 bytes when textures can be render targets.
This commit is contained in:
parent
1bc84102ad
commit
58cdd1dc52
1 changed files with 16 additions and 8 deletions
|
|
@ -99,19 +99,27 @@ intel_miptree_create(struct intel_context *intel,
|
|||
|
||||
if (ok) {
|
||||
if (!mt->compressed) {
|
||||
/* XXX: Align pitch to multiple of 64 bytes for now to allow
|
||||
* render-to-texture to work in all cases. This should probably be
|
||||
* replaced at some point by some scheme to only do this when really
|
||||
* necessary.
|
||||
*/
|
||||
mt->pitch = (mt->pitch * cpp + 63) & ~63;
|
||||
int align;
|
||||
|
||||
if (intel->intelScreen->ttm) {
|
||||
/* XXX: Align pitch to multiple of 64 bytes for now to allow
|
||||
* render-to-texture to work in all cases. This should probably be
|
||||
* replaced at some point by some scheme to only do this when really
|
||||
* necessary.
|
||||
*/
|
||||
align = 63;
|
||||
} else {
|
||||
align = 3;
|
||||
}
|
||||
|
||||
mt->pitch = (mt->pitch * cpp + align) & ~align;
|
||||
|
||||
/* XXX: At least the i915 seems very upset when the pitch is a multiple
|
||||
* of 1024 and sometimes 512 bytes - performance can drop by several
|
||||
* times. Go to the next multiple of 64 for now.
|
||||
* times. Go to the next multiple of the required alignment for now.
|
||||
*/
|
||||
if (!(mt->pitch & 511))
|
||||
mt->pitch += 64;
|
||||
mt->pitch += align + 1;
|
||||
|
||||
mt->pitch /= cpp;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue