austriancoder changed the topic of #etnaviv to: #etnaviv - the home of the reverse-engineered Vivante GPU driver - Logs https://freenode.irclog.whitequark.org/etnaviv
cphealy__ has quit [Ping timeout: 240 seconds]
_whitelogger has joined #etnaviv
pcercuei has quit [Quit: dodo]
JohnnyonF has quit [Ping timeout: 240 seconds]
karolherbst has quit [Remote host closed the connection]
DPA has joined #etnaviv
<DPA> I need some directions regarding the problem that ro->kms_fd isn't taken into account, which can lead to the allocation of BOs on the wrong device, here:
<DPA> Or I could make it also check kms_fd. Or I could restructure some things to keep the pipe_screens as consolidated as possible like so:
<DPA> What is the prefered way to solve this? I could just remove the hash_table and always make it call screen_create.
<DPA> There are probably still a lot of other possible solutions, but what is the right thing to do?
lynxeye has joined #etnaviv
<austriancoder> DPA: can you provide some more background information? what device, gpu, use case...?
<austriancoder> DPA: kms device is used for scanout buffers and renderonly lib (renderonly_create_kms_dumb_buffer_for_resource(..)) is responsible for importing a dumb buffer from kms device
lynxeye has quit [Quit: Leaving.]
lynxeye has joined #etnaviv
<DPA> austriancoder: On the librem 5 devkit, with this MR applied: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3449
<DPA> There are 2 kms devices on there, mxsfb for the lcd screen, and dcss for hdmi. kmsro calls etna_drm_screen_create_renderonly with the appropriate kms_fd, here:
<DPA> The gpu_fd is for the same device in both cases, so this here:
<DPA> Will find the already existing pipe_screen for the correct gpu, but for the wrong kms_fd, if both devices are used with gbm.
<DPA> Creating a scanout buffer for the second kms device using gbm will then be valid for the first instead of the second kms device.
<DPA> Note how there is one struct renderonly instance per pipe_screen, and that etnaviv uses that when allocating the buffer:
karolherbst has joined #etnaviv
<austriancoder> DPA: okay.. I see the problem - need to think about it
T_UNIX has joined #etnaviv
<austriancoder> DPA: if you would use ro->kms_fd for the hash table it could work with the result to have one pipe_screen for each kms_fd
<austriancoder> lunch time
pcercuei has joined #etnaviv
berton has joined #etnaviv
flto has quit [Remote host closed the connection]
flto has joined #etnaviv
T_UNIX has quit [Quit: Connection closed for inactivity]
diego_r has quit [Quit: Konversation terminated!]
berton has quit [Ping timeout: 246 seconds]
hanzelpeter has joined #etnaviv
sravn has joined #etnaviv
lynxeye has quit [Quit: Leaving.]
hanzelpeter has quit [Quit: leaving]
<cengiz_io> hello folks! I'm running 5.4 on an imx6dl and whenever I do drmModeGetResources on /dev/dri/card1 resource values come as default values. any help is greatly appreciated
<cengiz_io> hello marex
lrusak_ is now known as lrusak
<marex> cengiz_io: what is /dev/dri/card1 , etnaviv or imx-drm ?
karolherbst has quit [Quit: duh 🐧]
karolherbst has joined #etnaviv