<karolherbst>
and that checks if both things are buffers or not
<zmike>
check out other drivers and see if most/many do it?
<karolherbst>
I mean.. looking at this, as it's really just a plain 1:1 copy of data (just with strides in mind) I don't see why GPUs couldn't do that, but the gallium API doesn't seem to have a way
DanaG has quit [Remote host closed the connection]
<karolherbst>
zmike: well.. if code asserts on it it doesn't really matter if one can do that
<zmike>
I'm saying check whether most drivers do it, if they do then we can make it a thing that this is supported
<zmike>
and add it to llvmpipe
<zmike>
not like gallium is a fixed api
<karolherbst>
yeah..
<zmike>
alternatively pipe cap it up
<airlied>
karolherbst: I think lavapipe open codes it
<karolherbst>
mhh looks like nouveau also assumes that with copy_region both resources are of the same type
<karolherbst>
well
<karolherbst>
"type" as in buffer vs texture
<airlied>
yes it does
<airlied>
it uses loops over util_copy_box
<karolherbst>
ehhh
<airlied>
so you'd have to add a new api
DanaG has joined #dri-devel
<airlied>
then lvp could use it :-P
<karolherbst>
:D
<karolherbst>
mhhh
<karolherbst>
it's stupid that most reasons clover did sw copy in the end is always "there was no gallium API for that"
<karolherbst>
although I already use more hw paths
<karolherbst>
does GL allow copies between textures and ssbos?
<karolherbst>
not really in the mood of changing the gallium API at this point :D
<karolherbst>
although I think the only API I do differently is clEnqueueWriteImage where clover does a sw copy and I use texture_subdata
<karolherbst>
same for clEnqueueWriteBuffer
<karolherbst>
(where I use buffer_subdata)
<karolherbst>
mhhh
<karolherbst>
I have a stupid idea
<karolherbst>
I just use texture_Subdata and buffer_subdata but instead of user memory I pass in the mapped texture/buffer?
simon-perretta-img_ has joined #dri-devel
tonyk has quit [Server closed connection]
tonyk has joined #dri-devel
<karolherbst>
or would there be GPUs being abloe to choke on that?
<zmike>
looks like iris doesn't implement mixed buffer/image copies either
<karolherbst>
I don't think anyone does
<karolherbst>
it even says so on top of resource_copy_region: "The resource must be of the same format."
<zmike>
I guess I was being unnecessarily cool
BobBeck has quit [Server closed connection]
<karolherbst>
zmike: yeah... :( I really don't look forward fixing all drivers for this yet
BobBeck has joined #dri-devel
<zmike>
just add a new method for it then
<zmike>
buffer_image_transfer or what have you
<karolherbst>
but maybe using buffer_subdata and texture_subdata is fine if the GPU can see that the user pointer is really just mapped VRAM
<karolherbst>
or maybe some GPUs die from that
<karolherbst>
dunno
<zmike>
I think most drivers have that elided into a direct memcpy
<karolherbst>
mhhh
<karolherbst>
but how would they know?
<zmike>
they don't, that's why it's just a cpu memcpy
<karolherbst>
ahh
Thaodan has quit [Server closed connection]
<zmike>
buffer_subdata is probably worse since writing to a device-local buffer is going to incur copies/staging uploads
<karolherbst>
although GPUs can dma that stuff and I think nouveau uses the GPU for that... dunno
Thaodan has joined #dri-devel
italove31 has quit [Server closed connection]
<karolherbst>
ahh no.. nouveau uses u_default_buffer_subdata for buffer_subdata
italove31 has joined #dri-devel
<karolherbst>
but I know that the hw can do this stuff.. mhh
simon-perretta-img has quit [Ping timeout: 480 seconds]
<airlied>
karolherbst: you can't use subdata due to tiling
<airlied>
and unmappable resources
<karolherbst>
mhh? what do you mean?
haagch has quit [Server closed connection]
haagch has joined #dri-devel
<zmike>
means you'll get staging uploads a lot
<karolherbst>
ohh from texture to buffer.. ahh yeah.. that probably doesn't work
<karolherbst>
airlied: well.. I have to map it one way or the other anyway
<karolherbst>
blit also only works between textures, right?
<airlied>
right
<karolherbst>
mhhh
<karolherbst>
oh well..
kgz has quit [Server closed connection]
kgz has joined #dri-devel
<karolherbst>
I could do it with a helper CL kernel....
tales_ has joined #dri-devel
DanaG has quit [Remote host closed the connection]
DanaG has joined #dri-devel
mbrost has quit []
adjtm has joined #dri-devel
<imirkin>
jekstrand: dj-death: re your conversation earlier about interpolateAtSample -- it has nothing to do with per-sample shading. it's the same thing as interpolateAtOffset, but with a convenient way to address the offsets. that's how it's implemented in practice on nvidia.
<imirkin>
(it _is_ dependent on the RT being MSAA and GL_MULTISAMPLE being enabled, however, i think)
<airlied>
" If multisample buffers are not available, the input varying will be evaluated at the center of the pixel."
<airlied>
but yeah shouldn't need per-sample either
<imirkin>
jekstrand: RE nouveau + RTX 2000/3000 -- quite poorly. RTX 3000 has almost zero support - no firmware released yet to enable _any_ sort of accel. 2000, which is turing, should have basic support, but no reclocking so slow, and probably a lot more bugs than older gens
<airlied>
I think a 2000 is perfect for jekstrand then, he can fix bugs :-P
<imirkin>
yeah, i guess depends on what one is looking for
<imirkin>
if you're _really_ yearning for weird bugs, get a NVIDIA GTS 8800 (320mb)
DanaG has quit [Remote host closed the connection]
DanaG has joined #dri-devel
arisu has quit [Server closed connection]
arisu has joined #dri-devel
mairacanal[m] has quit [Server closed connection]
mairacanal[m] has joined #dri-devel
DanaG_ has joined #dri-devel
DanaG has quit [Ping timeout: 480 seconds]
DanaG has joined #dri-devel
nchery has joined #dri-devel
mripard_ has joined #dri-devel
bbrezillon has joined #dri-devel
DanaG_ has quit [Ping timeout: 480 seconds]
bbrezill1 has quit [Ping timeout: 480 seconds]
mripard has quit [Ping timeout: 480 seconds]
DanaG has quit [Read error: No route to host]
JohnStultz[m] has quit [Server closed connection]
JohnStultz[m] has joined #dri-devel
LaughingMan[m] has quit [Server closed connection]
LaughingMan[m] has joined #dri-devel
Eighth_Doctor has quit [Server closed connection]
Eighth_Doctor has joined #dri-devel
DanaG has joined #dri-devel
cleverca22[m] has quit [Server closed connection]
cleverca22[m] has joined #dri-devel
orbea has quit [Quit: You defeated orbea! 2383232 XP gained!]
orbea has joined #dri-devel
mbrost has joined #dri-devel
orbea has quit []
tintou has quit [Server closed connection]
tintou has joined #dri-devel
orbea has joined #dri-devel
q66 has quit [Server closed connection]
q66 has joined #dri-devel
janesma has quit [Ping timeout: 480 seconds]
go4godvin has quit [Server closed connection]
go4godvin has joined #dri-devel
go4godvin is now known as Guest282
tomba has quit [Server closed connection]
tomba has joined #dri-devel
icecream95 has quit [Server closed connection]
icecream95 has joined #dri-devel
icecream95 is now known as Guest283
DanaG has quit [Remote host closed the connection]
DanaG has joined #dri-devel
Wallbraker[m] has quit [Server closed connection]
Wallbraker[m] has joined #dri-devel
MatrixTravelerbot[m] has quit [Server closed connection]
tarceri has quit [Remote host closed the connection]
MatrixTravelerbot[m] has joined #dri-devel
tarceri has joined #dri-devel
chema has quit [Server closed connection]
chema has joined #dri-devel
apinheiro[m] has quit [Server closed connection]
apinheiro[m] has joined #dri-devel
Tooniis[m] has quit [Server closed connection]
Tooniis[m] has joined #dri-devel
Guest283 is now known as icecream95
dcbaker has quit [Server closed connection]
dcbaker has joined #dri-devel
nchery has quit [Ping timeout: 480 seconds]
shankaru has joined #dri-devel
<jekstrand>
imirkin: I'm not in it for the bugs.:P
shankaru has quit []
mattrope has quit [Remote host closed the connection]
kallisti5[m] has quit [Server closed connection]
kallisti5[m] has joined #dri-devel
bylaws has quit [Server closed connection]
bylaws has joined #dri-devel
Duke`` has joined #dri-devel
mhenning has quit [Quit: mhenning]
idr has quit [Quit: Leaving]
exit70[m] has quit [Server closed connection]
exit70[m] has joined #dri-devel
slattann has joined #dri-devel
kts has joined #dri-devel
slattann has quit []
kts has quit [Quit: Konversation terminated!]
shankaru has joined #dri-devel
slattann has joined #dri-devel
i-garrison has quit []
i-garrison has joined #dri-devel
sdutt has quit [Remote host closed the connection]
sdutt has joined #dri-devel
jewins has quit [Read error: Connection reset by peer]
jewins has joined #dri-devel
slattann has left #dri-devel [#dri-devel]
kts has joined #dri-devel
kts has quit []
nchery has joined #dri-devel
itoral has joined #dri-devel
aravind has joined #dri-devel
Daanct12 has joined #dri-devel
Duke`` has quit [Ping timeout: 480 seconds]
tursulin has joined #dri-devel
slattann has joined #dri-devel
slattann has left #dri-devel [#dri-devel]
danvet has joined #dri-devel
kts has joined #dri-devel
tarceri has quit [Ping timeout: 480 seconds]
tarceri has joined #dri-devel
tarceri has quit [Remote host closed the connection]
tarceri has joined #dri-devel
tarceri has quit [Remote host closed the connection]
tarceri has joined #dri-devel
tarceri has quit [Remote host closed the connection]
tarceri has joined #dri-devel
tarceri has quit [Remote host closed the connection]
tarceri has joined #dri-devel
camus has quit [Ping timeout: 480 seconds]
alanc has quit [Remote host closed the connection]
alanc has joined #dri-devel
tales_ has quit [Remote host closed the connection]
paulk1 has quit [Ping timeout: 480 seconds]
gawin has joined #dri-devel
jewins has quit [Ping timeout: 480 seconds]
mbrost has quit [Ping timeout: 480 seconds]
itoral has quit [Remote host closed the connection]
itoral has joined #dri-devel
paulk1 has joined #dri-devel
frankbinns has joined #dri-devel
Daaanct12 has joined #dri-devel
Daaanct12 has quit []
Daanct12 has quit [Ping timeout: 480 seconds]
itoral has quit [Remote host closed the connection]
<alyssa>
bi_imm_f16 does a conversion to half float
<alyssa>
grumble
<alyssa>
anholt: You seem like the most compiler magic ergonomics person here, um
<alyssa>
How do you feel about util_cpu_detect() being an __attribute__((constructor)) and then the rest of Mesa doesn't have to worry about calling it
<karolherbst>
jfalempe: not sure.. maybe try it out locally and check the differences in the llvm ir? Key would be to find a test which isn't all to big and only executes one thing. Those test are part of https://github.com/KhronosGroup/VK-GL-CTS
<jfalempe>
yes, I already cloned VK-GL-CTS and used deqp-runner, but most tests failed locally, so I may have a setup issue.
<alyssa>
jfalempe: I just looked over the failing list from that job, the simplest test I see that's failing is `dEQP-GLES3.functional.fbo.color.clear.rgb10_a2`
<alyssa>
I would try to debug that one, hopefully it has the same bug as the others
<jfalempe>
how do your run only this test locally ?
<karolherbst>
jfalempe: mhh.. can you run glxinfo? but we do have meson devenv which I never used but should make it easy to use your local build
<jfalempe>
thanks at least I can run 1 test, and not the whole test suite ;)
<alyssa>
in VK-GL-CTS/build/external/openglcts/modules
<alyssa>
sure :)
yshui` has quit [Server closed connection]
yshui` has joined #dri-devel
<karolherbst>
next step: launching kernels with images/samplers :)
tales_ has joined #dri-devel
<karolherbst>
this might sound crazy, but CL 3.0 compliance isn't that far away: Pass 2003 Fails 76 Crashes 97 Timeouts 0
<alyssa>
nice!
<karolherbst>
image lowering in nir is just super annoying.. the entire handling of CL images there is a huge pita :( but oh well
<karolherbst>
essentially the only big item left to do
JohnnyonFlame has quit [Ping timeout: 480 seconds]
<karolherbst>
there is something wrong with double precision, though I have an idea what
<alyssa>
I assume you've achieved parity with clover?
<karolherbst>
uhm.. not yet
<karolherbst>
clover can do images in kernels
<alyssa>
ah
<karolherbst>
but array images are broken there, which work in rusticl
kts_ has joined #dri-devel
kts has quit [Ping timeout: 480 seconds]
nielsdg has quit [Server closed connection]
nielsdg has joined #dri-devel
sdutt has quit []
kts_ has quit []
sdutt has joined #dri-devel
nchery is now known as Guest322
nchery has joined #dri-devel
kts has joined #dri-devel
kts has quit []
Guest322 has quit [Ping timeout: 480 seconds]
Peste_Bubonica has joined #dri-devel
<javierm>
psii: your patch makes sense to me. I would wait for zackr to review though
nchery has quit [Ping timeout: 480 seconds]
JohnnyonFlame has joined #dri-devel
<psii>
javierm: Thank you for taking a look at it.
Lyude has quit [Quit: WeeChat 3.4]
janesma has joined #dri-devel
Peste_Bubonica has quit [Quit: Leaving]
<javierm>
psii: you are welcome. I was about to comment that using unlikely() for a return value is not that common but I noticed that it is in this driver
Lyude has joined #dri-devel
<javierm>
I thought those macros were mostly for hot code paths where the hints would be an important perf improvement, and that was expected a lot of profiling to be done in order to use them
Haaninjo has joined #dri-devel
adjtm has quit [Remote host closed the connection]
adjtm has joined #dri-devel
shankaru has joined #dri-devel
fxkamd has quit []
<psii>
This is also my thought. Well, as this being my first kernel contribution, I just thought, when in Rome do as the Romans do. :-)
<javierm>
psii: indeed :)
Dylanger has quit [Server closed connection]
Dylanger has joined #dri-devel
tango_ is now known as Guest327
tango_ has joined #dri-devel
Guest327 has quit [Ping timeout: 480 seconds]
<MrCooper>
javierm: as in return unlikely(...); ?
unrelentingtech has quit [Server closed connection]
unrelentingtech has joined #dri-devel
gawin has quit [Ping timeout: 480 seconds]
<danvet>
robher, I'm assuming the other rob picks that up :-)
<javierm>
MrCooper: as in ret = foobar(); if (unlikely(ret)) return ret;
<javierm>
I would personally just write as if (ret) but unsure how common the former is
<MrCooper>
I see
kts has joined #dri-devel
nchery has joined #dri-devel
kem has quit [Ping timeout: 480 seconds]
<anholt>
alyssa: I would recommend fixing up the assert to have a better explanation, rather than compiler magic.
<anholt>
(constructors have ordering issues, I wouldn't reach for them as a tool)
<alyssa>
anholt: right.. the whole pattern of having to initialize a thing you don't directly use seems like bad design TBH
<alyssa>
violates scoping and hard to reason about
<alyssa>
that it only shows up on some arches makes it harder
kem has joined #dri-devel
<alyssa>
is calling util_cpu_detect() from util_get_cpu_caps() really that much of an overhead issue?
<alyssa>
and if we care about that level of micro-opt, a vtable approach is probably better anyway..? i don't know
<alyssa>
at any rate now onto -Wunused-variable in release builds which I'd really rather stop caring about grumble
aravind has quit [Ping timeout: 480 seconds]
eukara has joined #dri-devel
rkanwal has quit [Ping timeout: 480 seconds]
anarsoul|2 has quit []
anarsoul has joined #dri-devel
Duke`` has joined #dri-devel
paulk1 has quit [Ping timeout: 480 seconds]
blue_penquin has quit [Server closed connection]
blue_penquin has joined #dri-devel
cwfitzgerald[m] has quit [Server closed connection]
cwfitzgerald[m] has joined #dri-devel
Anson[m] has quit [Server closed connection]
Anson[m] has joined #dri-devel
gagallo7[m] has quit [Server closed connection]
gagallo7[m] has joined #dri-devel
gnustomp[m] has quit [Server closed connection]
gnustomp[m] has joined #dri-devel
hasebastian[m] has quit [Server closed connection]
hasebastian[m] has joined #dri-devel
jenatali has quit [Server closed connection]
jenatali has joined #dri-devel
onox[m] has quit [Server closed connection]
onox[m] has joined #dri-devel
pmoreau has quit [Server closed connection]
pmoreau has joined #dri-devel
pushqrdx[m] has quit [Server closed connection]
pushqrdx[m] has joined #dri-devel
pmoreau is now known as Guest331
reactormonk[m] has quit [Server closed connection]
reactormonk[m] has joined #dri-devel
YaLTeR[m] has quit [Server closed connection]
YaLTeR[m] has joined #dri-devel
idr has joined #dri-devel
Peste_Bubonica has joined #dri-devel
Lyude has quit [Quit: WeeChat 3.4]
Lyude has joined #dri-devel
shankaru has quit [Quit: Leaving.]
paulk1 has joined #dri-devel
<jekstrand>
bbrezillon, kusma: Has anyone tried to make dozen build on non-windows?
<jekstrand>
It's blowing up because d3d12 headers pull in windows.h
<jekstrand>
jenatali: ^^
<kusma>
Not yet, I think
<jekstrand>
:-(
* jekstrand
was hoping to hack about on it a bit
<kusma>
It does
<kusma>
Not sure what goes wrong
<kusma>
Aaah, winadapter might be the issue
mbrost has quit [Remote host closed the connection]
mbrost has joined #dri-devel
<kusma>
So that's the device enumeration code etc
frankbinns has quit [Remote host closed the connection]
<ajax>
anyone know enough radeonsi to know how V_028A24_DI_PT_2D_RECTANGLE works?
<ajax>
and maybe also V_028A24_DI_PT_2D_FILL_RECT_LIST
lkw has quit [Read error: Connection reset by peer]
<karolherbst>
jekstrand: ehh.. I am looking at what clover is doing for images and I am already annoyed :D Can't we have that somehow done in an easier way?
gawin has joined #dri-devel
alyssa has left #dri-devel [#dri-devel]
<karolherbst>
mhh although maybe I have an idea.. some of the uglyness in clover is because of sampler args and I don't have to make it that annoying
<karolherbst>
1. extract samplers 2. update texture/sampler derefs to indices 3. bind_sampler_states + set_sampler_views
<karolherbst>
then I don't think we even need samplers in the arg list, which makes a lot of things much easier
<karolherbst>
is there anything like indirect samplers in CL?
<karolherbst>
although I guess you can just put them in an array..
<karolherbst>
mhh...
<karolherbst>
don't we already have something which turns texture/sampler derefs into the correct thing?
lkw has joined #dri-devel
<jekstrand>
karolherbst: IIRC, it's pretty horrible no matter what. :(
* jekstrand
debates setting up visual studio on his windows install just so he can build dozen
* jekstrand
questions his life choices
ella-0_ has quit [Read error: Connection reset by peer]
* jekstrand
decides to hack on RADV instead
Peste_Bubonica has quit [Quit: Leaving]
<karolherbst>
jekstrand: yeah.... I think I'll start with the easy read only images wihout constant samplers and go from there...
<karolherbst>
jekstrand: ohh.. clover doesn't use nir_lower_samplers ...
<dcbaker>
karolherbst: meson 0.62 (just out) has the bindgen fix as well, so bindgen should work with generated headers now
<karolherbst>
nir_lower_samplers looks like something I need to make it not painful :)
<karolherbst>
dcbaker: nice
<karolherbst>
I am still on 0.59.4 :(
<dcbaker>
pip install --user meson :)
<karolherbst>
yeah...
<karolherbst>
let's see if that fixes my issue :)
<dcbaker>
it's also got the `structured_sources` function, which might make working with bindgen more pleasant
<karolherbst>
yeah... still not sure what final solution we want to have here
<karolherbst>
not having to cast would be cool
<karolherbst>
makes a lot of things easier
<dcbaker>
We'll probably have env support in 0.63, I don't know how we avoid it for cargo support
<dcbaker>
even if it's not popular in the meson community
<jekstrand>
karolherbst: IIRC, it was easier to not use that stuff
<karolherbst>
jekstrand: for clover probably true
<jekstrand>
karolherbst: In general, I think.
<karolherbst>
but for rusticl it should be fine
<karolherbst>
mhh?
<karolherbst>
why though?
Peste_Bubonica has joined #dri-devel
<jekstrand>
Because derefs aren't hat you wan
<jekstrand>
*what
<karolherbst>
well lower_samplers turns derefs into offset/index, no?
<jekstrand>
karolherbst: That pass won't work if there is any pointer weirdness involved
<karolherbst>
mhhh
<karolherbst>
true
<jekstrand>
IIRC, for clover, I just made each image/sampler input its index and turned the tex/image/sampler deref into a load of the input and then do the op on the resulting index.
<jekstrand>
Then, from a deref handling POV, they look just like any other input and pointers etc. work fine.
<jekstrand>
There was a method to my madness! :P
<karolherbst>
yeah..
<jekstrand>
Don't get me wrong. It's also madness. But with method!
<karolherbst>
:D
<karolherbst>
dcbaker: cool, seems to fix it for real :)
<dcbaker>
sweet!
<dcbaker>
it really just was a brain fart on my part :/ I forgot to add the "and builddir" argument
gouchi has joined #dri-devel
<karolherbst>
dcbaker: I would make it so that you can't forget it in the future :p
<dcbaker>
Well, I really should have written a test with a generated header in the first place... lol
<karolherbst>
I was more thinking about rewriting code in a way that it's not needed to add both things, but that as well :p
<karolherbst>
jekstrand: maybe I just call clover_nir_lower_images and hope it works out?
<dcbaker>
well, it's a function like `add_include_dirs(source_dir: str, build_dir: str | None = None)`, which not adding build_dir is valid and useful in some cases
<dcbaker>
though I guess we could change it force passing build_dir as None explictily...
<karolherbst>
dcbaker: ohh not saying that from the DSL it's not useful, I just thought you'd have something to merge those internally into one list and have a function to get that or something
<dcbaker>
from the DSL we don't actually provide that option, but internally we use it in a few cases
<karolherbst>
ahh
<dcbaker>
it probably does make more sense to requrie builddir=None explicitly
<karolherbst>
state.environment.get_source_build_dir() and have an optional arg which toggles "source_only" and "build_only"?
<karolherbst>
something like that
<karolherbst>
so you are forced to make a decision
<dcbaker>
it's `IncludeDirs.to_string_list(sourcedir: str, builddir: str | None = None)`. (which is basically a container of list[str])
<dcbaker>
when you pass an `include_directores(...)` thats the internal representation
<karolherbst>
ohhh
<karolherbst>
I see
<karolherbst>
mhhh
Peste_Bubonica has quit [Quit: Leaving]
Peste_Bubonica has joined #dri-devel
<karolherbst>
jekstrand: so yeah.. extracting that pass worked just fine :) now I just have to bind that stuff and everything
ngcortes has joined #dri-devel
mbrost has quit [Ping timeout: 480 seconds]
HerrSpliet has joined #dri-devel
mbrost has joined #dri-devel
RSpliet has quit [Ping timeout: 480 seconds]
eukara has quit []
lkw_ has joined #dri-devel
lplc has quit [Ping timeout: 480 seconds]
lkw has quit [Ping timeout: 480 seconds]
eukara has joined #dri-devel
RSpliet has joined #dri-devel
HerrSpliet has quit [Ping timeout: 480 seconds]
CME has quit [Server closed connection]
CME has joined #dri-devel
lplc has joined #dri-devel
lkw_ has quit []
<jekstrand>
karolherbst: :)
ybogdano has joined #dri-devel
nchery has quit [Ping timeout: 480 seconds]
lemonzest has quit [Quit: WeeChat 3.4]
i-garrison has quit [Read error: Connection reset by peer]
i-garrison has joined #dri-devel
Peste_Bubonica has quit [Remote host closed the connection]
ngcortes has quit [Ping timeout: 480 seconds]
ngcortes has joined #dri-devel
ahajda has quit [Quit: Going offline, see ya! (www.adiirc.com)]
nchery has joined #dri-devel
Duke`` has quit [Ping timeout: 480 seconds]
psii has quit [Quit: Konversation terminated!]
sdutt has quit []
sdutt has joined #dri-devel
* jekstrand
is starting to really dislike meta stuff in Vulkan....
<HdkR>
Too much Metaverse
sdutt_ has joined #dri-devel
FireBurn has joined #dri-devel
Haaninjo has quit [Quit: Ex-Chat]
sdutt has quit [Ping timeout: 480 seconds]
gouchi has quit [Remote host closed the connection]
<dj-death>
jekstrand: meta?
<jekstrand>
dj-death: Some drivers (v3dv, radv, maybe turnip?) implement vulkan copy/blit in terms of Vulkan.
tursulin has quit [Read error: Connection reset by peer]
<jekstrand>
But it means passing in bogus image view create parameters in a bunch of cases.
<bnieuwenhuizen>
what is the alternative though?
<bnieuwenhuizen>
I don't want to duplicate a driver just ofr meta
<jekstrand>
bnieuwenhuizen: Yeah, I know.
<jekstrand>
bnieuwenhuizen: I'm trying to make RADV use vk_image_view and it's requiring some surgery to vk_image_view to make it validate less stuff.
<jekstrand>
I'll get it, I'm sure.
<jekstrand>
RIght now, I've just added a "driver_internal" param and, when set, it ignores most validation.
<bnieuwenhuizen>
what kind of stuff are we passing in bogus?
<jekstrand>
bnieuwenhuizen: Mostly a different format when MUTABLE_FORMAT_BIT isn't set
<jekstrand>
bnieuwenhuizen: But, also, possible different usage flags
<bnieuwenhuizen>
(also, being a vulkan driver, why are we validating, given that it is not the drivers job?)
<jekstrand>
Because asserts help catch bugs
<jekstrand>
I can't count the number of hard-to-debug CTS bugs I've found with some well-placed asserts
kts_ has joined #dri-devel
rkanwal has quit [Quit: rkanwal]
kts has quit [Ping timeout: 480 seconds]
<zmike>
can confirm, I have blocked a very large number of tests in THAT extension with lavapipe asserts and crashes
xroumegue has quit [Ping timeout: 480 seconds]
rbrune has quit [Ping timeout: 480 seconds]
xroumegue has joined #dri-devel
danvet has quit [Ping timeout: 480 seconds]
<jekstrand>
bnieuwenhuizen: Why do you use PLANE_0 for meta stuff?
JohnnyonFlame has quit [Read error: Connection reset by peer]
<karolherbst>
uh.. I start to hate how we do images/samplers/textures :D
<jekstrand>
Ok, I think I know what to do here.
<bnieuwenhuizen>
jekstrand: cause for ETC2 emulation we stuff things in PLANE1/2?
<bnieuwenhuizen>
not sure what you'd be referring to otherwise
<karolherbst>
jekstrand: I'd wish we had a way to tell if a sampler or image is actually dead :/
<karolherbst>
mhh not important, but it would be easier I think