refactor(vulkan): dup exported target planes with dupFile
- commit
- da4028ff83324bdef31afefdd4924ca1b5f1766b
- author
- brice · · 2026-10-05 08:32 UTC
- committer
- brice · · 2026-10-05 08:32 UTC
- parent
- f21738b
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
1 file · +1 -2
M internal/adapters/vulkan/targets.go +1 -2
| @@ -10,7 +10,6 @@ import ( | |||
| 10 | 10 | ||
| 11 | 11 | "github.com/bnema/neferwl/internal/ports" | |
| 12 | 12 | vk "github.com/bnema/purego-vulkan/vulkan" | |
| 13 | - | "golang.org/x/sys/unix" | |
| 14 | 13 | ) | |
| 15 | 14 | ||
| 16 | 15 | // Render targets (ADR 014). A DRM output scans out images the renderer | |
| @@ -312,7 +311,7 @@ func (r *Renderer) exportTarget(mods []uint64) (*target, ports.DMABuf, error) { | |||
| 312 | 311 | } | |
| 313 | 312 | planes = append(planes, ports.DMABufPlane{File: first, Offset: uint32(layouts[0].Offset), Stride: uint32(layouts[0].RowPitch)}) | |
| 314 | 313 | for i := uint32(1); i < n; i++ { | |
| 315 | - | dup, err := unix.FcntlInt(first.Fd(), unix.F_DUPFD_CLOEXEC, 0) | |
| 314 | + | dup, err := dupFile(first) | |
| 316 | 315 | if err != nil { | |
| 317 | 316 | closePlanes() | |
| 318 | 317 | return nil, ports.DMABuf{}, fmt.Errorf("duplicate exported fd for plane %d: %w", i, err) | |
| @@ -10,7 +10,6 @@ import ( | |||||
| 10 | 10 | ||||
| 11 | "github.com/bnema/neferwl/internal/ports" | 11 | "github.com/bnema/neferwl/internal/ports" | ||
| 12 | vk "github.com/bnema/purego-vulkan/vulkan" | 12 | vk "github.com/bnema/purego-vulkan/vulkan" | ||
| 13 | - | "golang.org/x/sys/unix" | |||
| 14 | ) | 13 | ) | ||
| 15 | 14 | ||||
| 16 | // Render targets (ADR 014). A DRM output scans out images the renderer | 15 | // Render targets (ADR 014). A DRM output scans out images the renderer | ||
| @@ -312,7 +311,7 @@ func (r *Renderer) exportTarget(mods []uint64) (*target, ports.DMABuf, error) { | |||||
| 312 | } | 311 | } | ||
| 313 | planes = append(planes, ports.DMABufPlane{File: first, Offset: uint32(layouts[0].Offset), Stride: uint32(layouts[0].RowPitch)}) | 312 | planes = append(planes, ports.DMABufPlane{File: first, Offset: uint32(layouts[0].Offset), Stride: uint32(layouts[0].RowPitch)}) | ||
| 314 | for i := uint32(1); i < n; i++ { | 313 | for i := uint32(1); i < n; i++ { | ||
| 315 | - | dup, err := unix.FcntlInt(first.Fd(), unix.F_DUPFD_CLOEXEC, 0) | 314 | + | dup, err := dupFile(first) |
| 316 | if err != nil { | 315 | if err != nil { | ||
| 317 | closePlanes() | 316 | closePlanes() | ||
| 318 | return nil, ports.DMABuf{}, fmt.Errorf("duplicate exported fd for plane %d: %w", i, err) | 317 | return nil, ports.DMABuf{}, fmt.Errorf("duplicate exported fd for plane %d: %w", i, err) | ||