dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon@freedesktop.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 110897] HyperZ is broken for r300 (bad z for some micro and macrotiles?)
Date: Tue, 11 Jun 2019 18:18:53 +0000	[thread overview]
Message-ID: <bug-110897-502-GRTIxZV3jc@http.bugs.freedesktop.org/> (raw)
In-Reply-To: <bug-110897-502@http.bugs.freedesktop.org/>


[-- Attachment #1.1: Type: text/plain, Size: 2372 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=110897

--- Comment #2 from Richard Thier <u9vata@gmail.com> ---
Created attachment 144512
  --> https://bugs.freedesktop.org/attachment.cgi?id=144512&action=edit
Error gone patch - but it is slow

If I understand it well, HyperZ can be owned by only one process / owner and
the ownership is transferred in the r300_blit.c file when clearing the buffers.

I guess this is why closing an app having HyperZ can transfer it to an other
one without restart. I have figured that this is also the place where buffer
clearing takes place so I played around a bit here.

Other releant files I have found are these:

[code]
src/gallium/drivers/r300/r300_context.c
src/gallium/drivers/r300/r300_emit.c
 Update is in here - this sends stuff to card according to how docs say it: 
src/gallium/drivers/r300/r300_hyperz.c
 This is where hyperZ gets first activated:
src/gallium/drivers/r300/r300_blit.c
src/gallium/drivers/r300/r300_context.h
 Register naming (closely resembles r300 and 500 docs):
src/gallium/drivers/r300/r300_reg.h
[/code]

See the attachment about what I am trying. With this attachment I do not see
the issue anymore. I made this change by just looking at what the code does and
how it sets the zmask_clear and hiz_clear variables. As you can see first I was
just trying to set them myself, but later just commented out the part you see.

Interestingly there is a performance drop now - I mean a drop from an unchanged
mesa without HYPERZ enabled to the changed one WITH hiz being enabled with the
environment variable. Does the fast clear or some things work even if the flag
is not added?

I am not sure what I do if I comment out the part that I did, but will look
into the HyperZ update function to know what is being sent to the card
registers. I see the registers and can see them in the docs, but I am sometimes
puzzled. Does the API between the kernel and user level send the enable HyperZ
bit in a different var and other parts of the same register in a different var
for example? I can also find it on my own I guess, but I need to compare kernel
and mesa side of the things and maybe someone just knows.

This is how long I went so far - but I am still very much started only a bit.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 3427 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2019-06-11 18:18 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-11 18:03 [Bug 110897] HyperZ is broken for r300 (bad z for some micro and macrotiles?) bugzilla-daemon
2019-06-11 18:07 ` bugzilla-daemon
2019-06-11 18:18 ` bugzilla-daemon [this message]
2019-06-11 23:21 ` bugzilla-daemon
2019-06-11 23:26 ` bugzilla-daemon
2019-06-11 23:56 ` bugzilla-daemon
2019-06-12  0:43 ` bugzilla-daemon
2019-06-12  0:54 ` bugzilla-daemon
2019-06-12  1:13 ` bugzilla-daemon
2019-06-12  1:22 ` bugzilla-daemon
2019-06-12 17:33 ` bugzilla-daemon
2019-06-12 17:51 ` bugzilla-daemon
2019-06-12 20:18 ` bugzilla-daemon
2019-06-12 20:55 ` bugzilla-daemon
2019-06-12 21:04 ` bugzilla-daemon
2019-06-13  8:56 ` bugzilla-daemon
2019-06-13  9:00 ` bugzilla-daemon
2019-06-13 10:16 ` bugzilla-daemon
2019-06-13 11:20 ` bugzilla-daemon
2019-06-13 11:21 ` bugzilla-daemon
2019-06-13 12:32 ` bugzilla-daemon
2019-06-13 12:35 ` bugzilla-daemon
2019-06-13 15:35 ` bugzilla-daemon
2019-06-13 15:38 ` bugzilla-daemon
2019-06-13 15:38 ` bugzilla-daemon
2019-06-13 20:07 ` bugzilla-daemon
2019-06-13 23:18 ` bugzilla-daemon
2019-06-13 23:37 ` bugzilla-daemon
2019-06-14 12:06 ` bugzilla-daemon
2019-06-14 12:28 ` bugzilla-daemon
2019-06-14 12:28 ` bugzilla-daemon
2019-06-14 12:52 ` bugzilla-daemon
2019-06-14 13:20 ` bugzilla-daemon
2019-06-14 15:00 ` bugzilla-daemon
2019-06-14 15:11 ` bugzilla-daemon
2019-06-14 15:30 ` bugzilla-daemon
2019-06-14 17:20 ` bugzilla-daemon
2019-06-14 17:26 ` bugzilla-daemon
2019-06-14 21:44 ` bugzilla-daemon
2019-06-14 22:01 ` bugzilla-daemon
2019-06-14 22:11 ` bugzilla-daemon
2019-06-14 23:05 ` bugzilla-daemon
2019-06-14 23:09 ` bugzilla-daemon
2019-06-14 23:10 ` bugzilla-daemon
2019-06-14 23:20 ` bugzilla-daemon
2019-06-14 23:30 ` bugzilla-daemon
2019-06-15  1:23 ` bugzilla-daemon
2019-06-15  1:27 ` bugzilla-daemon
2019-06-15  2:31 ` bugzilla-daemon
2019-06-15 13:27 ` bugzilla-daemon
2019-06-15 15:15 ` bugzilla-daemon
2019-06-15 15:20 ` bugzilla-daemon
2019-06-15 17:39 ` bugzilla-daemon
2019-06-15 17:40 ` bugzilla-daemon
2019-06-15 17:45 ` bugzilla-daemon
2019-06-15 21:48 ` bugzilla-daemon
2019-06-15 22:10 ` bugzilla-daemon
2019-06-16  9:05 ` bugzilla-daemon
2019-06-16 11:21 ` bugzilla-daemon
2019-06-16 11:23 ` bugzilla-daemon
2019-06-16 14:17 ` bugzilla-daemon
2019-06-16 15:44 ` bugzilla-daemon
2019-06-16 15:47 ` bugzilla-daemon
2019-06-16 17:22 ` bugzilla-daemon
2019-06-16 17:41 ` bugzilla-daemon
2019-06-16 20:16 ` bugzilla-daemon
2019-06-16 20:49 ` bugzilla-daemon
2019-06-16 23:24 ` bugzilla-daemon
2019-06-17  6:19 ` bugzilla-daemon
2019-06-17  9:22 ` bugzilla-daemon
2019-06-17 18:30 ` bugzilla-daemon
2019-06-17 19:40 ` bugzilla-daemon
2019-06-17 20:49 ` bugzilla-daemon
2019-06-17 21:48 ` bugzilla-daemon
2019-06-19  3:07 ` bugzilla-daemon
2019-09-18 18:55 ` bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-110897-502-GRTIxZV3jc@http.bugs.freedesktop.org/ \
    --to=bugzilla-daemon@freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox