Commit Graph

  • 1d3e6800b8 Remove custom virglrenderer requirement from README.md yttrium-wddm2 Ake Rehnman 2026-09-27 13:06:23 +02:00
  • b99d951a1c Update README.md yttrium-experimental-2026-09-27 Ake Rehnman 2026-09-26 20:42:33 +02:00
  • 0d52eb7df4 viogpu3d: make Yttrium12 packaging opt-in Ake Rehnman 2026-09-26 19:30:44 +02:00
  • 1d67e5f86c viogpu3d: install the resolution service with the driver Ake Rehnman 2026-09-26 17:54:51 +02:00
  • edc7fc129b viogpu: preserve control-queue completion wakeups during flush Ake Rehnman 2026-09-26 16:08:37 +02:00
  • 29574f19ea viogpu3d: advertise explicit residency for WDDM2 allocations Ake Rehnman 2026-09-26 10:34:25 +02:00
  • 018d9ff68e viogpu3d: separate WDDM 2 paging to avoid scheduler stop hangs Ake Rehnman 2026-09-26 09:09:38 +02:00
  • 36688d994f viogpu3d: schedule Venus GPU timelines with ordered DMA completion Ake Rehnman 2026-09-22 14:11:41 +02:00
  • ba2283c399 viogpu3d: package the native Yttrium12 D3D12 UMD Ake Rehnman 2026-09-22 07:17:20 +02:00
  • 0fae5fe9d3 viogpu3d: correct WDDM 2 callback and segment query contracts Ake Rehnman 2026-09-21 21:36:56 +02:00
  • 78c25df19a viogpu3d: restore routine allocation trace levels Ake Rehnman 2026-09-21 21:19:20 +02:00
  • ed020b0acf viogpu3d: fix WDDM 2 allocations and preserve WDDM 1.3 builds Ake Rehnman 2026-09-21 21:11:28 +02:00
  • 78e32befa9 Initial WDDM 2.0 commit Ake Rehnman 2026-09-21 20:27:26 +02:00
  • 0ecc4f5a25 viogpu: explicitly translate allocation formats for blob scanout Ake Rehnman 2026-09-17 10:18:11 +02:00
  • c3dcb89825 viogpu3d: refresh CPU BLT mappings after residency changes Ake Rehnman 2026-09-17 09:30:07 +02:00
  • 0f8d014396 viogpu: translate sRGB allocation formats for scanout Ake Rehnman 2026-09-17 09:29:27 +02:00
  • de1b7c3f6b Update README.md Section about disabling windows hibernation yttrium-experimental Ake Rehnman 2026-08-24 21:47:03 +02:00
  • 157899f761 Update README.md yttrium-experimental-2026-08-24 Ake Rehnman 2026-08-23 22:33:48 +02:00
  • d080fd391e viogpu3d: make Lavapipe packaging optional Ake Rehnman 2026-08-23 20:56:19 +02:00
  • 5050208831 viogpu3d: report synthetic scanline status Ake Rehnman 2026-08-22 22:55:46 +02:00
  • a7211c080f viogpu3d: declare CDD/DWM interop and legal BLT geometry Ake Rehnman 2026-08-22 22:55:41 +02:00
  • 1ebe66d416 viogpu3d: enable WPP recorder tracing Ake Rehnman 2026-08-22 22:55:34 +02:00
  • 4577d380bf viogpu3d: implement Venus CPU-BLT presents Ake Rehnman 2026-08-22 22:55:28 +02:00
  • 53e719d2dc viogpu3d: enforce single-submit DMA command ownership Ake Rehnman 2026-08-22 22:54:49 +02:00
  • 15682d52ff viogpu3d: wait for Venus resource attachment Ake Rehnman 2026-08-22 22:51:58 +02:00
  • 6faeec6114 viogpu3d: wait safely for blob creation completion Ake Rehnman 2026-08-22 22:51:51 +02:00
  • 3566e9ec2e viogpu3d: add scanout blob presentation support Ake Rehnman 2026-08-22 22:51:37 +02:00
  • 05374399a5 viogpu: make queue object initialization null-safe Ake Rehnman 2026-08-22 22:51:28 +02:00
  • a26e99d713 viogpu: make synchronous control requests teardown-safe Ake Rehnman 2026-08-22 22:51:03 +02:00
  • 6af931dbbe viogpu: handle control-queue backpressure and fatal submission errors Ake Rehnman 2026-08-22 22:50:24 +02:00
  • adfd9b21eb viogpu: honor virtqueue notification suppression Ake Rehnman 2026-08-22 22:50:18 +02:00
  • 9fbb7fca62 viogpu: avoid ACCESS_PLATFORM with raw physical queue buffers Ake Rehnman 2026-08-22 22:50:17 +02:00
  • df8579543d viogpu3d: initialize Venus contexts and compatible resource attachments Ake Rehnman 2026-08-22 22:50:11 +02:00
  • 1a33c37adc viogpu3d: fix standard allocation size query Ake Rehnman 2026-08-22 22:50:00 +02:00
  • faca18e31c viogpu3d: validate complete escape private data Ake Rehnman 2026-08-22 22:49:50 +02:00
  • 4c27e477e6 viogpu: Validate Render and Present DMA buffers viogpu3d-2026-06-04 akre Ake Rehnman 2026-05-25 07:32:04 +02:00
  • fe87d3d7e0 viogpu: Pre-count DMA completion packets before submission Ake Rehnman 2026-05-25 07:28:55 +02:00
  • 5cf1980049 viogpu3d: remove VSYNC notification throttle Ake Rehnman 2026-05-19 20:53:43 +02:00
  • 0faad78076 viogpu3d: only allow fence-only submits for empty DMA ranges Ake Rehnman 2026-05-15 21:59:39 +02:00
  • 5dab3309f4 viogpu3d: put DMA-backed flips on the command timeline Ake Rehnman 2026-05-15 21:33:38 +02:00
  • 5c6228dbb1 viogpu3d: sanitize virgl bind flags on allocation creation Ake Rehnman 2026-05-15 18:48:16 +02:00
  • fa2c6ae944 Update BUILDING.md to reflect the latest build configs viogpu3d-2026-05-08 Ake Rehnman 2026-05-08 20:13:12 +02:00
  • df69616bcc viogpu3d: stop vsync timer before closing queues Ake Rehnman 2026-05-08 19:52:34 +02:00
  • c86c7acc4d viogpu3d: restructure vsync timer startup and teardown. Ake Rehnman 2026-05-03 22:31:49 +02:00
  • bba21b4016 viogpu3d: implement dma boundary preemption Ake Rehnman 2026-05-01 07:00:43 +02:00
  • a246e56807 viogpu: Remove blocking argument from CtrlQueue::QueueBuffer Ake Rehnman 2026-05-02 22:17:17 +02:00
  • 88b99cf724 viogpu: Remove m_CtrlQueueEvent wait in CtrlQueue::QueueBuffer Ake Rehnman 2026-05-02 22:01:40 +02:00
  • d3fdeca041 viogpu3d: make trace build clean in DBG and non-DBG lurenJBD 2026-04-12 10:20:35 +00:00
  • 3c480364a1 viogpu3d: fix UsePhysicalMemory registry apply condition lurenJBD 2026-04-12 14:22:39 +00:00
  • dbc3588d94 viogpu3d: fix source-address queue tail ordering lurenJBD 2026-04-12 14:22:04 +00:00
  • f1ab3dd7f1 viogpu3d: return STATUS_NOT_SUPPORTED for missing WDDM2 DDIs lurenJBD 2026-04-12 14:19:05 +00:00
  • 19879b8877 viogpu3d: make flip-stop state atomic in vsync path lurenJBD 2026-04-13 07:17:42 +00:00
  • 765a187dd0 viogpu3d: fix ActiveSize reporting in VidPN target modes lurenJBD 2026-04-13 07:17:01 +00:00
  • f889e095a0 viogpu3d: unmap stale blob mappings on allocation destroy lurenJBD 2026-04-13 16:16:13 +00:00
  • 5ce956ec6b viogpu3d: route empty DMA submits through async fenced NOP lurenJBD 2026-04-12 14:15:26 +00:00
  • 1032573ff5 viogpu: harden ctrl queue submit error handling lurenJBD 2026-04-12 14:13:37 +00:00
  • 7f957f91f7 viogpu: allow non-fatal capset negotiation failures lurenJBD 2026-04-12 14:13:33 +00:00
  • 05113c6768 viogpu3d: add Win11 x64 and ARM64 build configs lurenJBD 2026-04-12 09:41:29 +00:00
  • 8c7a728a06 viogpu3d: clean scripts and ignore generated ICD files lurenJBD 2026-04-12 09:41:07 +00:00
  • 45bcde4987 viogpu3d: Make wow64 support optional YWFhYmJi 2026-04-07 14:30:35 +01:00
  • 7a0e0f2103 viogpu3d: Updated pointer sizes for 32-bit builds YWFhYmJi 2026-04-06 14:09:14 +01:00
  • 988298bd52 viogpu3d: wow64 compilation changes YWFhYmJi 2026-04-06 14:00:31 +01:00
  • 783e483fb3 viogpu3d: update build instructions YWFhYmJi 2026-04-06 07:53:51 +01:00
  • 7c81f10200 viogpu3d: Implement a vidpn source address queue viogpu3d-debug-2026-03-15 Ake Rehnman 2026-03-15 20:13:50 +01:00
  • 94a94253be viogpu queue: New SubmitNop with blocking option Ake Rehnman 2026-03-15 20:00:29 +01:00
  • 86c8a79219 viogpu3d: Fix EDID CTA861 pointer arithmetic Ake Rehnman 2026-03-13 14:51:08 +01:00
  • 5edc6192b1 viogpu3d: memory allocation error handling Ake Rehnman 2026-03-06 22:36:59 +01:00
  • 7ea81fad40 viogpu3d: alias hResource to hAllocation, drop separate resource object Ake Rehnman 2026-03-06 22:34:30 +01:00
  • 0dac2e1ec4 viogpu3d: Fix a bunch of memory leaks Ake Rehnman 2026-03-06 22:24:52 +01:00
  • ebc98f4d33 viogpu_queue: Fix a bunch of memory leaks in queue functions Ake Rehnman 2026-03-06 21:58:07 +01:00
  • 816211f3fa viogpu3d: harden DMA private-data command pointer lifetime Ake Rehnman 2026-03-06 09:21:25 +01:00
  • 226079085e viogpu3d: harden Present() null guards for optional DMA/private data Prevents null/invalid dereference paths on Present variants without DMA buffer, private data, or destination allocation handle. Ake Rehnman 2026-03-04 23:32:51 +01:00
  • 51c0ed9d7b viogpu3d: Move DXGK_INTERRUPT_DMA_COMPLETED to the interrupt routine GPU_VBUFFER:s are now added to the VirtIO-queue wrapped in DxgkCbSynchronizeExecution. Later in the ISR the GPU_VBUFFER are inserted in a staging list and scanned for fenceid:s and signaled. The DPC function pops this staging list and calls the completion cb:s and frees the buffers. This ensures we fulfill the contract by only signaling the dma completion in the ISR. Ake Rehnman 2026-03-04 23:22:43 +01:00
  • f6d9dccbd9 viogpu3d: Move CRTC_VSYNC notification to InterruptRoutine Moved VSYNC interrupt notification to ISR to comply with the dxgk contract. A new timer DPC was implemented with precise 60 Hz generation. Ake Rehnman 2026-03-04 22:57:53 +01:00
  • eee3458715 viogpu: Fix autorelease bug in DpcRoutine If pvbuf is released in a callback it is an error to access pvbuf->autorelease. Cache the value before calling the cb. viogpu3d-debug-2026-02-22 Ake Rehnman 2026-02-22 17:38:05 +01:00
  • e2900bff2b viogpu: New VIOGPU_SUBMIT_CMD escape VIOGPU_SUBMIT_CMD is used in Venus to submit render commands to the vitio queue. Venus require proper command ordering to be able to syncronize memmory and buffer allocation in the host with blob creation in the guest. This is difficult to syncronize with the pfnRender path in the WDDM. Ake Rehnman 2026-02-21 21:31:41 +01:00
  • c270f61c05 viogpu: Add completion cb to CreateBlobResource Ake Rehnman 2026-02-21 21:28:14 +01:00
  • ed7c797637 viogpu_queue: CreateResourceBlob and QueueBufferFenced Ake Rehnman 2026-02-21 21:13:01 +01:00
  • 0acc3a7279 Update README.md viogpu3d-debug-2026-02-15 Ake Rehnman 2026-02-15 12:25:38 +01:00
  • d8f15ada28 viogpu3d: Update vcxproj files and inx script Remove z1.dll from inx script Add viogpu_shmem_allocator to vcxproj Add script for generating icd files Ake Rehnman 2026-02-14 11:24:11 +01:00
  • 226a2f39c0 Viogpu: Stop using reusable idr Ake Rehnman 2026-02-14 11:04:44 +01:00
  • 8e29a21016 Viogpu: Improve virtio response logging Ake Rehnman 2026-02-14 09:07:39 +01:00
  • 2865c7bc34 Viogpu: Update QueryAdapterInfo Update to QueryAdapterInfo with host features and segment descriptors for host shared memory BAR Ake Rehnman 2026-02-14 08:55:04 +01:00
  • 090b79a6fe VirtIO: initialize shmem capability in Virtio PCI init Scan the PCI capabilites and map shared memory Ake Rehnman 2026-02-13 23:25:14 +01:00
  • 8daf370efc Implement escapes for blob mapping VIOGPU_RES_MAP_BLOB VIOGPU_RES_UNMAP_BLOB Ake Rehnman 2026-02-13 22:34:10 +01:00
  • 1aa78468b5 DxgkCreateAllocation: Implement allocation with mappable blobs Allocation of mappable blobs on shared host memory. Ake Rehnman 2026-02-13 20:48:01 +01:00
  • fff2a7006c viogpu_pci: Add support for large memory resources CmResourceTypeMemoryLarge used primarily for shared memory in Venus Ake Rehnman 2026-02-13 17:58:39 +01:00
  • 34d1b2a5db CtrlQueue: Implement blob creation and map functions CreateResourceBlob ResourceMapBlob ResourceUnmapBlob Ake Rehnman 2026-02-13 14:32:18 +01:00
  • d742bd001b Move VioGpuAllocation::MarkBusy() and UnMarkBusy() to unpaged code section Ake Rehnman 2026-02-13 10:32:37 +01:00
  • 17316f45b0 viogpu3d: Implement new shared memory allocator A new memory allocator class is implemented for upcoming venus shared memory blobs Ake Rehnman 2026-02-01 10:50:51 +01:00
  • 17d5662bdc Update copyright text Ake Rehnman 2026-02-15 09:46:28 +01:00
  • aa2652366a Update README.md viogpu3d-debug-2025-12-01-update1 Ake Rehnman 2025-12-29 16:17:02 +01:00
  • b04a033b7e viogpu_queue: Serialize control commands. For some reason windows stops emitting present commands if fences are not countinously and consecutive to viogpu queue. viogpu3d-2025-12-01 Ake Rehnman 2025-12-01 15:13:43 +01:00
  • 95fd452dfd CtrlQueue: Add fences to CreateResource CreateResource3D ResFlush TransferToHost2D TransferToHost3D AttachBacking DetachBacking Ake Rehnman 2025-11-09 07:27:50 +01:00
  • 1daaff1b80 CtrlQueue: Block QueueBuffer commands if VirtQueue is full Ake Rehnman 2025-11-07 21:17:21 +01:00
  • c8bc6a6658 VioGpuBuf::FreeBuf is called from DISPATCH_LEVEL make sure spinlock is acquired with KeAcquireSpinLockAtDpcLevel() Add some asserts in Init and Close irql <DISPATCH_LEVEL Ake Rehnman 2025-11-04 08:49:04 +01:00
  • 5d0d6ccb5c Handle empty responses in VioGpuAdapter::DpcRoutine viogpu3d-2025-09-07 Ake Rehnman 2025-09-07 09:38:05 +02:00
  • a8bc9d904c Update vcxproj with Debug targets Ake Rehnman 2025-09-06 21:09:34 +02:00
  • 3066e5ed1f Update inx and rename z-1.dll z.dll renamed to z-1.dll um drivers moved from driver store to drivers Ake Rehnman 2025-09-06 21:03:54 +02:00
  • 276db2c0d6 Remove Submit and Running queues Ake Rehnman 2025-09-06 20:59:54 +02:00