------------------------------------------------------------------- Thu Apr 09 17:25:31 UTC 2020 - pousaduarte@gmail.com - Update to version 1.5.4: * [meta] Release 1.5.4 * [d3d9] Return D3D_OK in CreateTexture even if AUTOGENMIPMAP flag is stripped * [d3d9] Check correct sampler bitfield when applying/capturing sampler state * [util] Disable OpenVR for Raft * [d3d9] Simplify dirty check for shader constants * [d3d9] Store copy of shader metadata in constant set * [dxso] Fix GCC warning for an unused variable * [d3d9] Fix GCC warnings for unsigned->signed comparisons * [d3d9] Don't arbitrarily set fog scale to 0 * [d3d9] Validate blit regions are in range * [d3d9] Error on StretchRect when not D3DPOOL_DEFAULT * [dxso] Initialize vPos in shaders if we have pixel fog * [dxvk] Skip over adapters not supporting Vulkan 1.1 * [util] Include ostream in util_rc_ptr.h * [dxso] Apply projection before bumpmapping in TexBem * [meta] Release 1.5.3 * [d3d9] Unbind fragment shader for ProcessVertices * [dxso] Handle writemask in TexKill op * Revert "[util] Disable float emulation for Hat in Time" * [d3d11] Re-introduce client API HUD item * [d3d11] Introduce COM interface to set and get API version * [d3d9] Re-introduce client API HUD item * [hud] Add parameter to allow placing HUD items * [hud] Don't initialize client API HUD item by default * [dxvk] Don't oversubscribe memory heaps on UMA devices * [dxvk] Move UMA check to backend * [d3d9] Enable depth bounds feature, if supported * [util] Disable float emulation for Hat in Time * [d3d9] Use spec constants for bool constants * [d3d9] Fix GetTextureStageState using unmapped types * [dxso] Initialize vPos value at the start of the shader * [dxso] Count max constants after we pull out pre-defines * [util] Unify Risen 1/2/3 app profiles * [util] Add more exe names to Gothic 3 app profile * [d3d9] Allow StretchRect BC -> BC format without stretch * [test] Add test for StretchRect DXT1 -> DXT1 * [meta] Release 1.5.2 * [d3d9] Don't try to blit to compressed images * [d3d9] Don't mark D3DUSAGE_AUTOGENMIPMAP as renderable * [util] Disable d3d9.allowDoNotWait for RTHDRIBL * [d3d9] Implement d3d9.allowDoNotWait * [d3d9] Unmark resources as dirty if they get discarded * [d3d9] Don't block on GetRenderTargetData * [util] Disable supportDFFormats for Gothic 3 * [d3d9] Don't check for sRGB formats when retrieving back buffer view * [d3d9] Rotate swap chain back buffers * [d3d9] Retrieve back buffer view from the D3D9Surface * [dxvk] Remove image renaming * [d3d9] Fix some off-by-one TSS types enum values * [d3d9] Fix texture stage index in stateblocks * [util] Add simple [] operator to our bitset * [d3d9] Remap texture stage state types onto our own enum * [d3d9] Remove unnecessary loops for some stateblocks applications * [util] Add app profile for Entropia Universe * [d3d11] Introduce d3d11.invariantPosition option * [dxbc] Declare vertex positions as invariant * [d3d9] Fix opSelect condition vector size * [util] Spoof AMD for Skyrim (nvapi) * [d3d11] Implicitly begin scoped queries in End if necessary * [d3d9] Make unbound textures return (0, 0, 0, 1) (fixed func) * [dxso] Make unbound textures return (0, 0, 0, 1) * [util] Enable d3d9.deferSurfaceCreation for a ton of weeb games * [d3d9] Remove unused variable * [d3d9] Create front buffer * [d3d9] Don't create sRGB views for non-sRGB compatible textures * [d3d9] Return specific image view from GetSampleView * [d3d9] Don't pass format mapping to D3D9CommonTexture * [dxvk] Don't enable VK_KHR_descriptor_update_template * [dxvk] Don't enable VK_KHR_shader_draw_parameters * [dxvk] Don't enable VK_KHR_maintenance1, VK_KHR_maintenance2 * [dxvk] Don't enable VK_KHR_dedicated_allocation, VK_KHR_get_memory_requirements2 * [dxvk] Don't enable VK_KHR_get_physical_device_properties2 * [dxbc] Don't enable SPV_KHR_shader_draw_parameters * [d3d9] Don't enable DrawParameters capability * Readability cleanup * Use verbose file operations during installation * Add installation support for pure 64-bit Wine (non WoW64) * [d3d9] Implement GetFrontBufferData (currently with first backbuffer) * [d3d9] Add AreFormatsSimilar helper * [d3d9] Don't create views if we are a null resource * [dxvk] don't try to fall back to Vulkan 1.0 * [d3d9] Create multiple back buffers for GetBackBuffer API * [d3d9] Synchronize with presentation in D3D9SwapChainEx::Reset * [dxvk] Implement image swapping * [dxvk] Introduce DxvkPhysicalImage * [dxvk] Register image views with the parent image * [dxvk] Use small_vector to store image view format compatibility list * [dxvk] Factor out image view creation * [util] Add small_vector helper * [dxgi] Don't check window validity in IDXGISwapchain::GetFullscreenState * [d3d9] Don't mark for hazards if we aren't rendering to mip 0 * [d3d9] Keep subresource views in subresources, defer creation until needed * [d3d11] Lock immediate context when submitting presentation commands * [dxso] Use m's id for bump matrix in TexBem * [d3d9] Implement d3d9.forceSwapchainMSAA * [d3d9] Defer dialog mode swapchain recreation decision to Present * [d3d9] Remove redundant logging from SetDialogBoxMode * [meta] Release 1.5.1 * [d3d9] Remove unused variable from D3D9DeviceEx::Clear * [dxvk] Tweak number of pipeline compiler threads * [d3d9] Add GetSurfaceExtent helper * [d3d9] Respect mip != 0 for Clear fastpath * [d3d9] Respect specific mip size for implicit viewport in SetRenderTarget * [d3d11] Move shader stage and buffer slot calc to inside lambda * [d3d9] Scale depth bias value based on current format's `r` value * [d3d9] Set depth bias values separately, optimize redundant rasterizer state changes * [dxvk] Fix loading vkAcquireFullScreenExclusiveModeEXT etc. * [util] Improve Spinlock implementation * [d3d9] Ensure D3DDISPLAYMODEEX we use to call the Ex funcs has its size set correctly * [d3d9] Hook up GetAdapterDisplayMode to resp. adapter func * [d3d9] Return current display mode in GetAdapterDisplayModeEx rather than last mode * [d3d9] Don't re-set dialogbox mode on swapchain Reset * [d3d9] Remove incorrect error returns SetDialogBoxMode * [dxgi] Ignore sync interval if PRESENT_TEST is used * [d3d11] Increment transfer command counter when initializing UAV counter * [util] Enable d3d9.forceSamplerTypeSpecConstants for Halo [CE] * [dxso] Implement d3d9.forceSamplerTypeSpecConstants * [util] Improve ticket lock implementation * [meta] Happy New Year πŸŽ‰πŸ’ƒπŸŽŠ * [d3d9] Fix crash when trying to present with a currently invalid presenter * [dxso] Negate reflection in TexM3x3VSpec * [dxso] Normalize eyeRay and normal before reflection in TexM3x3Spec * [dxso] Only track co-issue parent opcode rather than the full context * [dxso] Don't emit a co-issue for CNDs parented to a CND * [d3d9] Enable bounds testing for D3DPOOL_SYSTEMMEM buffers * [dxso] Perform saturate after bitshift modifier * [dxso] Track and prioritize co-issued CNDs above their parent ops * [dxso] Keep track of the current instruction index in a decoding context * [dxso] Parse co-issue instruction modifier * [d3d9] Use VK_FORMAT_D24_UNORM_S8_UINT for D3DFMT_DF24 * [d3d9] Use VK_FORMAT_D24_UNORM_S8_UINT for D3DFMT_D24X8 * [d3d9] Make ChangeReportedMemory actually atomic * [util] Add get to bitset * [d3d9] Simplify SetViewport * [d3d9] Avoid rebinding scissor rects if the same one is re-set * [d3d9] Avoid rebinding viewports if the same one is re-set * [d3d9] Still rebind viewport/scissor when setting the same RT * [d3d9] Add operator overloads for RECT * [d3d9] Add operator overloads for D3DVIEWPORT9 * Report gpu vendor as Nvidia for Star Wars Battlefront II * [spirv] Allow specifying the SPIR-V version explicitly * [d3d9] Avoid unnecessary state block constant bits when not SWVPing * [d3d9] Use new bitset helper + tzcnt for stateblocks * [util] Add bitset helper * [d3d9] Move auto depth stencil creation to after swapchain creation * [d3d9] Remove initial device reset outside of constructor * [d3d9] Log unavailable backbuffer format if encountered when resetting swapchain * [d3d9] Fix return value for invalid backbuffer formats * [hud] Respect dxvk.hud configuration option again * [util] Handle undefined ratios in simplest ratio helper * [d3d9] Move capture struct and enum to stateblock header * [meta] Release 1.5 * [util] Defer D3D9 surface creation for Atelier Ryza * [meta] Add D3D9 specifics to the README * [d3d9] Implement Direct3D9 Frontend (#1275) * [hud] Allocate vertex buffer in host-visible device memory if possible * [hud] Clean up HUD rendering * [hud] Don't create uniform buffer * [hud] Don't use vertex shader for scaling * [d3d11] Don't present if the presenter has no swap chain. * [vulkan] Don't create a swap chain if the window size is 0 * [d3d11] Update HUD on CS thread * [hud] Enable manual sRGB conversion for non-sRGB swap chains * [hud] Don't average the draw call count * [hud] Reduce update frequency of draw call display * [hud] Reduce update frequency of queue submission display * [hud] Add colorful labels * [hud] Fix letter spacing * [dxvk] Remove unused memory stat counters * [hud] Remove legacy code * [hud] Implement compiler activity display as a HUD item * [hud] Implement GPU load display as a HUD item * [hud] Implement memory stats display as a HUD item * [hud] Implement pipeline stat display as a HUD item * [hud] Implement draw call stats display as a HUD item * [hud] Implement queue submission counter as a HUD item * [hud] Implement frame time graph as a HUD item * [hud] Implement FPS display as a HUD item * [hud] Implement Vulkan device info as a HUD item * [hud] Implement client API info as a HUD item * [hud] Implement DXVK version info as a HUD item * [hud] Add new HUD item abstraction * [hud] Don't pass DXVK context around in HUD modules * [dxvk] Add method to retrieve per-heap memory stats * [util] Spoof Nvidia cards for Crysis 3 * [dxvk] Separate gfx resource hazard checking and barrier emission * [meta] Support frog builds * [spirv] Implement constbReplicant * [spirv] Implement constvec4b32 * [spirv] Implement opReflect * [spirv] Implement opExp * [spirv] Implement opInverse, opNormalize and opLength * [spirv] Implement opTranspose * [spirv] Implement constfReplicant helper * [dxvk] Expose ability to retrieve type from DxvkShaderKey * [dxvk] Add helper to get size of memory/image in bytes * [dxvk] Improve DxvkImageView::handle() * [dxvk] Add support for implicit samplers * [util] Implement simplest ratio helper * [util] Add alignDown helper * [util] Implement lzcnt * [util] Add countof helper * [util] Implement a clamped version of ComObject, for D3D9 * [util] Add GetPrivateRefCount helper * [util] Implement fclamp for fp special cases * [util] Implement some basic vector and matrix math utils * [util] Mark clamp & align as constexpr * [util] Implement bit cast. * [dxgi] Add fake implementation of DxgiFactory::EnumWarpAdapter * [d3d11] Determine exclusive fullscreen mode based on swap chain flags * [vulkan] Support exclusive fullscreen control in presenter * [vulkan] Add feature bit for exclusive fullscreen control * [dxvk] Enable VK_EXT_full_screen_exclusive if available * [d3d11] Silence some errors about invalid API usage on deferred contexts * Adding `compiler` to `DXVK_HUD` * Revert "[dxvk] Don't clear bind mask for unbound UBOs and samplers" * [meta] Release 1.4.6 * [meta] Update Vulkan headers * [d3d11] Remove d3d11.strictDivision option * [util] Enable d3d11.enableRtOutputNanFixup for FFXIV * [dxbc] Implement workaround to replace NaN render target outputs by zero * [spirv] Implement opIsNan * [dxvk] Fix multiple inclusion of dxvk_platform_exts.h * [dxvk] Disable VK_EXT_conditional_rendering * [dxvk] Don't return a value from updateShaderResources * [dxvk] Bind descriptor sets at descriptor update time * [dxbc] Emit a spec constant for uniform buffers * [dxvk] Don't clear bind mask for unbound UBOs and samplers * [meta] Recommend using new validation layers * [util] Make Fence and Win32Fence final * [d3d11] Synchronize presentation when destroying swap chain * [dxvk] Use waitForIdle when destroying DXVK device * [meta] Update default config file * [dxgi] Don't allow changing the FRAME_LATENCY_WAITABLE_OBJECT flag * [dxgi] Implement IDXGISwapChain2::GetFrameLatencyWaitableObject * [d3d11] Create frame latency event for swap chain * [util] Implement fence capable of signaling win32 events * [dxgi] Implement IDXGISwapChain2::SetFrameLatency * [util] Reimplement Signal * [d3d11] Move frame latency handling into D3D11SwapChain * [dxvk] Fix include awfulness * [util] Fix winelib build * [util] Wide character conversion changes * [d3d11] Hook up platform-specific clock * [dxvk] Hook up platform-specific clock * [util] Add platform-specific clock implementation * [d3d11] Actually fix subresources discarded by DiscardView1 * [d3d11] Ignore D3D11_COPY_DISCARD * [d3d11] Overhaul DiscardResource and DiscardView implementations * [dxvk] Sort buffer slices before returning them to the buffer * [dxvk] Enable shader-based depth-stencil copies for AMDVLK * [meta] Release 1.4.5 * [dxvk] Enable asynchronous presentation on all hardware * [dxvk] Fix synchronization around vkDeviceWaitIdle * [dxvk] Fix handling of undefined shader inputs * [dxvk] Implement pass to eliminate undefined shader input variables * [spirv] Add method to retrieve literal string from instruction * [spirv] Add method to erase data from code buffer * [spirv] Add method to allocate new ID from code buffer. * [dxvk] Avoid some unnecessary barriers around render target clears * [d3d11] Zero-initialize UAV counters * [dxvk] Always align texel buffers to at least 16 bytes * [d3d11] Also fix reset counter memory order for deferred context queries * [util] Remove traces of the allowMapFlagNoWait option * [d3d11] Remove allowMapFlagNoWait option * [d3d11] Fix memory order for query reset counter * [d3d11] Submit stalling event queries before flushing * [dxvk] Always align index buffer slices to 256 Bytes * [dxvk] Store shader capability information in separate set of flags * [util] Disable strict DC mode for MGSV again * [util] Add app profile for Metal Gear Solid 5 * [dxvk] Enable option to disable OpenVR integration * [dxvk] Move extension provider list to DxvkInstance * [dxvk] Always align vertex buffer slices to 256 bytes * [d3d11] Fix uninitialized DSV flags * [dxvk] Remove option to disable transfer queue * [dxvk] Remove ability to query instance from adapter * [d3d11] Don't query DXVK instance from adapter * [dxvk] Pass DXVK instance to DXVK device directly, not through the adapter * [dxgi] Query DXVK instance from DXGI factory, not the adapter * [dxvk] Document wonky DxvkAdapter ref count behaviour * [d3d11] Hold reference to DxvkInstance * [dxvk] Use static variables for extension provider instances * [dxvk] Implement extension provider system * [build] Simplify and correct errors in options handling * [build] Demote no frontends/tests to a warning * [d3d11] 'a' is not a very good name for a variable * [d3d11] Don't synchronize with CS thread on present * [dxvk] Let device know that async presentation is enabled * [d3d11] Do not synchronize with CS thread in GetData * [d3d11] Move query state tracking to immediate context implementation * [d3d11] Move common Begin/End implementation to immediate context * [d3d11] Track used queries in deferred contexts and command lists * [d3d11] Only execute Begin for scoped queries * [util] Fix != and == operator for private/public COM pointers * [d3d11] Only add storage buffer usage flag to constant buffers if needed * [d3d11] Move handling of constantBufferRangeCheck option to D3D11Options * [d3d11] Remove useless members from D3D11DeferredContextMapEntry * [dxgi] Use 64-bit integers for refresh rate matching math * [dxbc] Remove old constant buffer range check * [dxbc] Don't emit a spec constant for uniform buffers * [dxbc] Use SSBOs for dynamically indexed constant buffers if needed * [dxbc] Parse dynamically indexed flag for constant buffers * [meta] Release 1.4.4 * [util] Enable constant buffer range check for Saints Row games * Revert "[d3d11] Fix ref counting for D3D11CommandList" * Revert "[d3d11] Recycle command lists from deferred contexts" * [dxvk] Validate image layouts in render pass formats read from cache * [dxvk] Write correct depth-stencil attachment layout to state cache * [dxvk] Fix uninitialized depth attachment reference * [dxbc] Always set geometry shader invocation count * [dxbc] Always allocate at least one input array element * [d3d11] Adjust buffer memory flags if apitrace is attached * [dxvk] Pause transform feedback on buffer updates * [dxvk] Fix bogus xfb buffer update check * [d3d11] Remove D3D11 counter buffer class * [d3d11] Allocate predicate buffer per query * [d3d11] Allocate xfb counter buffer per buffer * [d3d11] Allocate counter buffer per UAV * [dxvk] Handle xfb barriers in commitGraphicsBarriers * [dxvk] Replace buffer in updateBuffer even outside of render passes * [dxvk] Lazily allocate slices of small buffers * [dxvk] Don't lock swap lock if not necessary * [dxvk] Pad buffers more tightly * [dxvk] Force-update draw buffer for graphics pipeline barrier checks * [dxvk] Consider indirect draw buffer in graphics pipeline barriers * [dxvk] Consider vertex/index buffers in graphics pipeline barriers * [dxvk] Introduce checkGfxImageBarrier * [dxvk] Introduce checkGfxBufferBarrier * [dxvk] Move finalizeDraw into commitGraphicsState * [d3d11] Recycle command lists from deferred contexts * [util] Add virtual destructor to NoWrapper * [d3d11] Fix ref counting for D3D11CommandList * [d3d11] Fix incorrect AddRef return value * [d3d11] Don't set HOST pipeline stage and access flags for resources * [dxbc] Declare length of shader input array late * [spirv] Add 'late' constants * [dxbc] Extend scalar constants to vectors if required * [dxbc] Assume vec4 type for i/o vars not declared in signature * [dxbc] Declare temp registers on demand * [d3d11] Validate shader module capabilities * [d3d11] Refactor shader module creation * [util] Enable constant buffer range check for Titan Quest * [dxgi] Remove useless d3d10.enable option * [meta] Release 1.4.3 * [dxbc] Swap OpSelect arguments for Ne/Dne, don't use OpLogicalNot * [dxvk] Implement more compact state cache data format (v8) * [util] Add missing != operator to Sha1Hash * [dxvk] Support component mappings in blitter * [dxvk] Add some component mapping helpers * [dxvk] Implement framebuffer-based blit * [dxvk] Add class for framebuffer-based blits * [dxvk] Support arbitrary source texture coordinates in blitter * [dxvk] Support multisampled destinations in blitter * [dxvk] Support both linear and nearest samplers in blitter * [dxvk] Factor out mip gen classes and rename them to DxvkMetaBlit* * [d3d11] Remove obsolete DefaultDesc methods from state classes * [d3d11] Fix ref counting for state objects bound to a context * [d3d11] Fix immediate context reference counting * [d3d11] Don't subclass state objects from ComObject * [d3d11] Allow choosing type wrapper for D3D11DeviceChild base class * [util] Don't allow multiple inheritance for COM objects * [d3d11] Don't get private references for state objects * [d3d11] Fix reference counting for state objects * [d3d11] Return error if no desc is provided for Create*State methods * [d3d11] Don't sync CS thread if resource to map is already in use * [d3d11] Don't use a state object for default blend state * [d3d11] Don't use a state object for default depth-stencil state * [d3d11] Don't use a state object for default rasterizer state * [d3d11] Introduce ResetState and use it for ClearState * [dxvk] Don't store sampler description in sampler objects * [dxvk] Fix buffer usage flags in commitGraphicsBarriers * [dxvk] Don't rely on binding mask in commitGraphicsBarriers * [dxvk] Don't clear binding masks in update*Pipeline * [dxvk] Remove outdated comment * [dxvk] Add function to insert framebuffer read-back barriers * [dxvk] Add dependency flag parameter to emitMemoryBarrier * [dxvk] Remove spill parameter from bindRenderTargets * [d3d11] Don't spill render pass when rebinding render targets * [dxvk] Implement accurate barrier tracking for draws with side effects * [dxvk] Introduce HasStorageDescriptors to signify pipeline side effects * [dxvk] Remove incorrect framebuffer-space barriers * [dxbc] Fix sample positions * [d3d11] Add more rigid validation for buffer creation * [d3d11] Change ValidateBufferProperties to NormalizeBufferProperties * [d3d10] Fix reported bind flags for D3D10 resources * [d3d11] Validate texture array size * [d3d11] Initialize feature level to zero in D3D11CreateDevice * [dxvk] Don't use dynamic storage buffers * [dxvk] Optimize invalidateBuffer for use with uniform buffers * [dxvk] Inline freeBufferSlice implementation * [dxvk] Dirty framebuffer in beginRecording * [dxvk] Use float format for sampled unbound image views * [dxvk] Fix tessellation validation * [dxvk] Validate graphics state in commitGraphicsState * [dxvk] Validate compute state in commitComputePipelines * [dxvk] Move descriptor set updates to updateShaderResources * [dxvk] Move dynamic descriptor offset array to stack * [dxvk] Use memcmp replacement for pipeline state lookup * [dxvk] Implement state cache v6 -> v7 conversion * [dxvk] Increase maximum spec constant count to 12 * [dxvk] Move compute pipeline state to dxvk_graphics_state.h * [dxvk] Use new struct for specialization constant info * [dxvk] Use packed blend state * [dxvk] Use packed depth-stencil state * [dxvk] Use packed multisample state * [dxvk] Use packed rasterizer state * [dxvk] Use packed input layout state * [dxvk] Use packed input assembly state * [dxvk] Move DxvkGraphicsPipelineStateInfo to new file * [dxvk] Prepare for pipeline state changes and bump cache format to v7 * [dxvk] Don't use alignas(16) for DxvkMetaClearArgs members * [dxvk] Add missing {} to border color list * [util] Fix Sha1 dword extraction * [d3d10] Remove unused copies of device ptr in D3D10 wrappers * [dxgi] Initialize size of DEVMODEW structure * [dxvk] Don't redundantly clear unused vertex strides to zero * [meta] Release 1.4.2 * [util] Report Nvidia GPUs for Modern Warfare Remastered * [d3d11] Add missing break; in CreateSurface * [util] Move GetAdapterLUID out of DXGI internals * [d3d11] Implement CreateSurface for D3D11DXGIDevice * [dxgi] Generate adapter LUIDs if Vulkan does not provide them * [dxgi] Fix some IDXGIAdapter return codes * [dxgi] Handle invalid arguments passed to Present1 * [dxgi] Fix SetFullscreenState behaviour with invalid usage * [dxgi] Fix GetContainingOutput and GetFullscreenState output pointer * [d3d11] Add support for DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE * [d3d11] Fix return code on swap chain creation failure * [d3d11] Use private reference to D3D11 device in D3D11SwapChain * [dxgi] Fix some return codes in DxgiSwapChain * [d3d11] Fix error handling in SetMaximumFrameLatency * [dxgi] Fix QueryVideoMemoryInfo return values * [dxgi] Fix CheckInterfaceSupport UMD version writeback * [dxgi] Fix GetDisplayModeList1 output for DXGI_FORMAT_UNKNOWN * [dxgi] Fix GetDisplayModeList behaviour with a zero mode count * [dxgi] Fix CheckInterfaceSupport for IDXGIDevice * [dxvk] Implement context-local lookup cache for pipeline objects * [dxvk] Move shader set hash/eq functions into respective structs * [dxvk] Use new shader lookup hash in pipeline manager * [dxvk] Expose key-based lookup hash in DxvkShader * [dxvk] Add methods to retrieve shaders from pipeline * [dxbc] Fix NaN handling in not-equal comparison * [dxvk] Re-introduce state check for updateFramebuffer * [meta] Release 1.4.1 * [dxvk] Spoof Nvidia GPU for HITMAN 2 * [dxvk] Eliminate some redundant state checks * [dxvk] Introduce finalizeDraw * [d3d11] Add a comment explaining ID3D11Predicate/ID3D11Query hack * [d3d11] Fix GetPredication * Revert "[dxbc] Always decorate SV_POSITION as invariant" * [dxbc] Always decorate SV_POSITION as invariant * [dxvk] Store context flags as a 32-bit integer * [d3d10] Add some null pointer checks when dealing with resources * [d3d10] Fix some awkward formatting * [d3d11] Handle D3D_PRIMITIVE_TOPOLOGY_UNDEFINED correctly * [dxvk] Validate primitive topology in pipeline state * [dbxc] Actually fix callc implementation * [dxbc] Implement label, call and callc instructions * [d3d11] Return device lost errors in Present if necessary * [d3d11] Implement GetDeviceRemovedReason * [dxvk] Handle device lost errors on command submission * [d3d11] Fix CheckFeatureSupport formatting and return code * Retrieve the function pointer once (#1198) * [dxvk] Explicitly compare resource use count to zero * [meta] Release 1.4 * [dxvk] Bump state cache version to v6 * [dxvk] Apply spec constants to compute shaders as well * [dxvk] Only time pipeline compile times if requested * [dxvk] Check if xfb buffers have actually changed on binding * [dxvk] Use separate counters for read/write resource usage * [d3d11] Disable DO_NOT_WAIT for Overwatch * [d3d11] Implement IDXGIDevice4 * [dxgi] Implement IDXGISwapChain4 * [dxgi] Implement IDXGIOutput5 * [dxgi] Implement IDXGIFactory5 * [dxgi] Include DXGI 1.5 headers * [util] Update comment for FIFA 19+ workaround (#1197) * Revert "[d3d11] Don't create linearly tiled compressed images" * [d3d11] Implement GetDC / ReleaseDC * [d3d11] Implement GDI surface * [util] Add helpers for GDI/DDI interop * [d3d11] Enable allowMapFlagNoWait by default * [dxvk] Only wait for writes when mapping with D3D11_MAP_READ * [dxvk] Implement read-write tracking for resources * [dxvk] Implement read/write tracking in lifetime tracker * [d3d11] Write to image memory directly in InitHostVisibleTexture * [d3d11] Use VK_IMAGE_LAYOUT_PREINITIALIZED for mapped images * [dxvk] Add initial layout to initImage * [dxvk] Add initial layout to image create info * [util] Enable FIFA 19 workaround for FIFA 20 as well * [d3d11] Implement DiscardView1 * [dxgi] Implement IDXGIVkInteropAdapter for IDXGIAdapter * [dxgi] Define IDXGIVkInteropAdapter interface * [dxgi] Rename IDXGIVkAdapter -> IDXGIDXVKAdapter * [d3d11] Only use mapped buffer for images if bind flags are non-zero * [util] Enable allowMapFlagNoWait for Warhammer II * [d3d11] Report unified memory if all heaps are device-local * [d3d11] Enable D3D11.3 MapOnDefaultTextures feature * [d3d11] Implement ReadFromSubresource and WriteToSubresource * [d3d11] Allow pMappedResource to be null when mapping images * [d3d11] Implement D3D11.2 MapOnDefaultBuffers feature * [d3d11] Move GetMemoryFlagsForUsage into D3D11Buffer * [d3d11] Query format support in d3d11-formats test * [d3d11] Report MapOnDefaultTextures feature as unsupported * [dxvk] Replicate R component of border color for depth compare samplers (#1194) * [d3d11] Implement ID3D11Device5 * [d3d11] Implement ID3D11Device4 * [d3d11] Implement D3D11.4 feature queries * [d3d11] Include D3D11.4 headers * [d3d11] Implement ID3D11Device3 * [d3d11] Implement ID3D11Query1 * [d3d11] Implement ID3D11UnorderedAccessView1 * [d3d11] Implement ID3D11ShaderResourceView1 * [d3d11] Implement ID3D11RenderTargetView1 * [d3d11] Implement ID3D11Texture2D1 and ID3D11Texture3D1 * [d3d11] Implement ID3D11RasterizerState2 * [d3d11] Implement ID3D11DeviceContext4 * [d3d11] Implement ID3D11DeviceContext3 * [dxbc] Implement stencil ref export from fragment shaders * [d3d11] Use shaderStorageImageReadWithoutFormat for typed UAV loads * [d3d11] Add definitions for feature levels 12_0 and 12_1 * [d3d11] Implement D3D11.3 feature queries * [d3d11] Include D3D11.3 headers * [dxbc] Implement MSAD4 instruction * [d3d11] Implement GetResourceTiling * [d3d11] Implement ID3D11Device2 * [d3d11] Implement ID3D11DeviceContext2 * [d3d11] Implement D3D11.2 feature queries * [d3d11] Include D3D11.2 headers * [d3d11] Prevent log spam from repeated Get/SetResourceMinLOD calls * [d3d11] Implement missing D3D11_FEATURE_D3D9_OPTIONS feature query * [d3d11] Optimize viewport updates if there is only one single viewport * [d3d11] Add range check for scissors and make failing it unlikely * [metΓ¦] Release 1.3.4 * [util] Enable d3d11.allowMapFlagNoWait for Control * [d3d11] Don't create linearly tiled compressed images * Work around build failure with winegcc/clang. (#1184) * [meta] Work around wine 4.15 build failure * [meta] Use -std=c++17 * [d3d11] Fix incorrect AddRef -> Release * [meta] Release 1.3.3 * [d3d11] Rename some hazard tracking methods for clarity * [d3d11] Check for conflicts withing RTV and UAV lists upon binding them * [d3d11] Resolve pipeline hazards when binding render targets * [d3d11] Resolve pipeline hazards when binding compute shader UAVs * [d3d11] Add check whether a viewed resource has a given bind flag * Update README (#1174) * [d3d11] Filter redundant OMSetRenderTargets calls * [d3d11] Remove outdated comment * [d3d11] Check for shader resource view hazards * [d3d11] Add state to track potentially hazardous bound SRVs * [d3d11] Add bound compute shader UAV mask * [d3d11] Add common view info struct to all view types * [d3d11] Remove templated SetUnorderedAccessViews * [d3d11] Don't use .at() * [dxvk] Add function to find set bits in binding mask * [dxvk] Add function to set bind mask bit to a given value * [build] Check if --add-stdcall-alias and --enable-stdcall-fixup is supported before using it. * [dxvk] Explicitly include unordered_map in dxvk_renderpass.h * [util] Use R string literals for app compat regexes * [util] Use regular expressions on full exe path to match app profiles * [util] Add method to retrieve full exe path * [dxvk] Implement depth-stencil resolve * [dxvk] Support depth-stencil resolve using VK_KHR_depth_stencil_resolve * [dxvk] Support shader-based depth-stencil resolve * [dxvk] Add meta shaders for depth-stencil resolve * [dxvk] Make device properties accessible from the device * [dxvk] Enable VK_KHR_depth_stencil_resolve if available * [dxvk] Enable VK_KHR_create_renderpass2 if available * [util] Set d3d11.dcSingleUseMode=False for SteamVR perf test * [d3d11] Update resources mapped on deferred contexts in Map() * [util] Fix compiling with clang/clang-cl * Revert "[dxvk] Use vkCmdUpdateBuffer to clear tiny buffers" * [d3d11] Recreate swap chain immediately after synchronous present fails * [meta] Release 1.3.2 * [d3d11] Remove d3d11.asyncPresent option * [dxvk] Implement asynchronous presentation option in the backend * [dxvk] Move some code to where it makes more sense * [d3d11] Fix incorrect tracking of mapped image subresources * Revert "[d3d11] Return error when mapping an already mapped image" * [dxvk] Avoid redundant descriptor set updates when binding buffers (v2) * [dxvk] Add config option to enable the HUD * [dxvk] Don't allow common objects to be reference-counted * [dxvk] Use DxvkObjects to create and pass around common objects * [dxvk] Add class that bundles objects shared between device and context * [dxvk] Pass DxvkDevice to DxvkRenderPassPool constructor * [dxvk] Pass DxvkDevice to DxvkEventPool constructor * [dxvk] Pass DxvkDevice to DxvkMetaClearObjects constructor * [dxvk] Pass DxvkDevice to DxvkMetaPackObjects constructor * [util] Add helper for lazy initialization * [dxvk] Check render pass before pipeline state during pipeline lookup * [meta] Remove old issue template * Update issue templates * [dxvk] Refactor the way render passes to pipeline compiler methods * [dxvk] Refactor render pass objects to not use reference counting * [dxvk] Introduce compilePipeline method to Dxvk*Pipeline classes * [dxvk] Introduce DxvkComputePipelineInstance * [dxvk] Rename compilePipeline -> createPipeline * [dxbc] Only use atomic append/consume optimization in compute shaders * [dxvk] Fix partial clears for mismatched framebuffer attachment sizes * [dxvk] Don't duplicate geometry shader system value outputs * [dxvk] Don't use reference counting for pipeline objects * [dxvk] Use shader key structs directly for pipeline lookups * [dxvk] Use shader key structs to store shaders in DxvkPipeline objects * [dxvk] Rename Dxvk*PipelineKey -> Dxvk*PipelineShaders * [dxvk] Disable resource tracking for DxvkPipeline objects * [d3d11] Don't allow the creation of buffers with a size of zero ------------------------------------------------------------------- Thu Jan 09 23:20:18 UTC 2020 - pousaduarte@gmail.com - Update to version 1.5.1: * [meta] Release 1.5.1 * [d3d9] Remove unused variable from D3D9DeviceEx::Clear * [dxvk] Tweak number of pipeline compiler threads * [d3d9] Add GetSurfaceExtent helper * [d3d9] Respect mip != 0 for Clear fastpath * [d3d9] Respect specific mip size for implicit viewport in SetRenderTarget * [d3d11] Move shader stage and buffer slot calc to inside lambda * [d3d9] Scale depth bias value based on current format's `r` value * [d3d9] Set depth bias values separately, optimize redundant rasterizer state changes * [dxvk] Fix loading vkAcquireFullScreenExclusiveModeEXT etc. * [util] Improve Spinlock implementation * [d3d9] Ensure D3DDISPLAYMODEEX we use to call the Ex funcs has its size set correctly * [d3d9] Hook up GetAdapterDisplayMode to resp. adapter func * [d3d9] Return current display mode in GetAdapterDisplayModeEx rather than last mode * [d3d9] Don't re-set dialogbox mode on swapchain Reset * [d3d9] Remove incorrect error returns SetDialogBoxMode * [dxgi] Ignore sync interval if PRESENT_TEST is used * [d3d11] Increment transfer command counter when initializing UAV counter * [util] Enable d3d9.forceSamplerTypeSpecConstants for Halo [CE] * [dxso] Implement d3d9.forceSamplerTypeSpecConstants * [util] Improve ticket lock implementation * [meta] Happy New Year πŸŽ‰πŸ’ƒπŸŽŠ * [d3d9] Fix crash when trying to present with a currently invalid presenter * [dxso] Negate reflection in TexM3x3VSpec * [dxso] Normalize eyeRay and normal before reflection in TexM3x3Spec * [dxso] Only track co-issue parent opcode rather than the full context * [dxso] Don't emit a co-issue for CNDs parented to a CND * [d3d9] Enable bounds testing for D3DPOOL_SYSTEMMEM buffers * [dxso] Perform saturate after bitshift modifier * [dxso] Track and prioritize co-issued CNDs above their parent ops * [dxso] Keep track of the current instruction index in a decoding context * [dxso] Parse co-issue instruction modifier * [d3d9] Use VK_FORMAT_D24_UNORM_S8_UINT for D3DFMT_DF24 * [d3d9] Use VK_FORMAT_D24_UNORM_S8_UINT for D3DFMT_D24X8 * [d3d9] Make ChangeReportedMemory actually atomic * [util] Add get to bitset * [d3d9] Simplify SetViewport * [d3d9] Avoid rebinding scissor rects if the same one is re-set * [d3d9] Avoid rebinding viewports if the same one is re-set * [d3d9] Still rebind viewport/scissor when setting the same RT * [d3d9] Add operator overloads for RECT * [d3d9] Add operator overloads for D3DVIEWPORT9 * Report gpu vendor as Nvidia for Star Wars Battlefront II * [spirv] Allow specifying the SPIR-V version explicitly * [d3d9] Avoid unnecessary state block constant bits when not SWVPing * [d3d9] Use new bitset helper + tzcnt for stateblocks * [util] Add bitset helper * [d3d9] Move auto depth stencil creation to after swapchain creation * [d3d9] Remove initial device reset outside of constructor * [d3d9] Log unavailable backbuffer format if encountered when resetting swapchain * [d3d9] Fix return value for invalid backbuffer formats * [hud] Respect dxvk.hud configuration option again * [util] Handle undefined ratios in simplest ratio helper * [d3d9] Move capture struct and enum to stateblock header * [meta] Release 1.5 * [util] Defer D3D9 surface creation for Atelier Ryza * [meta] Add D3D9 specifics to the README * [d3d9] Implement Direct3D9 Frontend (#1275) * [hud] Allocate vertex buffer in host-visible device memory if possible * [hud] Clean up HUD rendering * [hud] Don't create uniform buffer * [hud] Don't use vertex shader for scaling * [d3d11] Don't present if the presenter has no swap chain. * [vulkan] Don't create a swap chain if the window size is 0 * [d3d11] Update HUD on CS thread * [hud] Enable manual sRGB conversion for non-sRGB swap chains * [hud] Don't average the draw call count * [hud] Reduce update frequency of draw call display * [hud] Reduce update frequency of queue submission display * [hud] Add colorful labels * [hud] Fix letter spacing * [dxvk] Remove unused memory stat counters * [hud] Remove legacy code * [hud] Implement compiler activity display as a HUD item * [hud] Implement GPU load display as a HUD item * [hud] Implement memory stats display as a HUD item * [hud] Implement pipeline stat display as a HUD item * [hud] Implement draw call stats display as a HUD item * [hud] Implement queue submission counter as a HUD item * [hud] Implement frame time graph as a HUD item * [hud] Implement FPS display as a HUD item * [hud] Implement Vulkan device info as a HUD item * [hud] Implement client API info as a HUD item * [hud] Implement DXVK version info as a HUD item * [hud] Add new HUD item abstraction * [hud] Don't pass DXVK context around in HUD modules * [dxvk] Add method to retrieve per-heap memory stats * [util] Spoof Nvidia cards for Crysis 3 * [dxvk] Separate gfx resource hazard checking and barrier emission * [meta] Support frog builds * [spirv] Implement constbReplicant * [spirv] Implement constvec4b32 * [spirv] Implement opReflect * [spirv] Implement opExp * [spirv] Implement opInverse, opNormalize and opLength * [spirv] Implement opTranspose * [spirv] Implement constfReplicant helper * [dxvk] Expose ability to retrieve type from DxvkShaderKey * [dxvk] Add helper to get size of memory/image in bytes * [dxvk] Improve DxvkImageView::handle() * [dxvk] Add support for implicit samplers * [util] Implement simplest ratio helper * [util] Add alignDown helper * [util] Implement lzcnt * [util] Add countof helper * [util] Implement a clamped version of ComObject, for D3D9 * [util] Add GetPrivateRefCount helper * [util] Implement fclamp for fp special cases * [util] Implement some basic vector and matrix math utils * [util] Mark clamp & align as constexpr * [util] Implement bit cast. * [dxgi] Add fake implementation of DxgiFactory::EnumWarpAdapter * [d3d11] Determine exclusive fullscreen mode based on swap chain flags * [vulkan] Support exclusive fullscreen control in presenter * [vulkan] Add feature bit for exclusive fullscreen control * [dxvk] Enable VK_EXT_full_screen_exclusive if available * [d3d11] Silence some errors about invalid API usage on deferred contexts * Adding `compiler` to `DXVK_HUD` * Revert "[dxvk] Don't clear bind mask for unbound UBOs and samplers" * [meta] Release 1.4.6 * [meta] Update Vulkan headers * [d3d11] Remove d3d11.strictDivision option * [util] Enable d3d11.enableRtOutputNanFixup for FFXIV * [dxbc] Implement workaround to replace NaN render target outputs by zero * [spirv] Implement opIsNan * [dxvk] Fix multiple inclusion of dxvk_platform_exts.h * [dxvk] Disable VK_EXT_conditional_rendering * [dxvk] Don't return a value from updateShaderResources * [dxvk] Bind descriptor sets at descriptor update time * [dxbc] Emit a spec constant for uniform buffers * [dxvk] Don't clear bind mask for unbound UBOs and samplers * [meta] Recommend using new validation layers * [util] Make Fence and Win32Fence final * [d3d11] Synchronize presentation when destroying swap chain * [dxvk] Use waitForIdle when destroying DXVK device * [meta] Update default config file * [dxgi] Don't allow changing the FRAME_LATENCY_WAITABLE_OBJECT flag * [dxgi] Implement IDXGISwapChain2::GetFrameLatencyWaitableObject * [d3d11] Create frame latency event for swap chain * [util] Implement fence capable of signaling win32 events * [dxgi] Implement IDXGISwapChain2::SetFrameLatency * [util] Reimplement Signal * [d3d11] Move frame latency handling into D3D11SwapChain * [dxvk] Fix include awfulness * [util] Fix winelib build * [util] Wide character conversion changes * [d3d11] Hook up platform-specific clock * [dxvk] Hook up platform-specific clock * [util] Add platform-specific clock implementation * [d3d11] Actually fix subresources discarded by DiscardView1 * [d3d11] Ignore D3D11_COPY_DISCARD * [d3d11] Overhaul DiscardResource and DiscardView implementations * [dxvk] Sort buffer slices before returning them to the buffer * [dxvk] Enable shader-based depth-stencil copies for AMDVLK * [meta] Release 1.4.5 * [dxvk] Enable asynchronous presentation on all hardware * [dxvk] Fix synchronization around vkDeviceWaitIdle * [dxvk] Fix handling of undefined shader inputs * [dxvk] Implement pass to eliminate undefined shader input variables * [spirv] Add method to retrieve literal string from instruction * [spirv] Add method to erase data from code buffer * [spirv] Add method to allocate new ID from code buffer. * [dxvk] Avoid some unnecessary barriers around render target clears * [d3d11] Zero-initialize UAV counters * [dxvk] Always align texel buffers to at least 16 bytes * [d3d11] Also fix reset counter memory order for deferred context queries * [util] Remove traces of the allowMapFlagNoWait option * [d3d11] Remove allowMapFlagNoWait option * [d3d11] Fix memory order for query reset counter * [d3d11] Submit stalling event queries before flushing * [dxvk] Always align index buffer slices to 256 Bytes * [dxvk] Store shader capability information in separate set of flags * [util] Disable strict DC mode for MGSV again * [util] Add app profile for Metal Gear Solid 5 * [dxvk] Enable option to disable OpenVR integration * [dxvk] Move extension provider list to DxvkInstance * [dxvk] Always align vertex buffer slices to 256 bytes * [d3d11] Fix uninitialized DSV flags * [dxvk] Remove option to disable transfer queue * [dxvk] Remove ability to query instance from adapter * [d3d11] Don't query DXVK instance from adapter * [dxvk] Pass DXVK instance to DXVK device directly, not through the adapter * [dxgi] Query DXVK instance from DXGI factory, not the adapter * [dxvk] Document wonky DxvkAdapter ref count behaviour * [d3d11] Hold reference to DxvkInstance * [dxvk] Use static variables for extension provider instances * [dxvk] Implement extension provider system * [build] Simplify and correct errors in options handling * [build] Demote no frontends/tests to a warning * [d3d11] 'a' is not a very good name for a variable * [d3d11] Don't synchronize with CS thread on present * [dxvk] Let device know that async presentation is enabled * [d3d11] Do not synchronize with CS thread in GetData * [d3d11] Move query state tracking to immediate context implementation * [d3d11] Move common Begin/End implementation to immediate context * [d3d11] Track used queries in deferred contexts and command lists * [d3d11] Only execute Begin for scoped queries * [util] Fix != and == operator for private/public COM pointers * [d3d11] Only add storage buffer usage flag to constant buffers if needed * [d3d11] Move handling of constantBufferRangeCheck option to D3D11Options * [d3d11] Remove useless members from D3D11DeferredContextMapEntry * [dxgi] Use 64-bit integers for refresh rate matching math * [dxbc] Remove old constant buffer range check * [dxbc] Don't emit a spec constant for uniform buffers * [dxbc] Use SSBOs for dynamically indexed constant buffers if needed * [dxbc] Parse dynamically indexed flag for constant buffers ------------------------------------------------------------------- Tue Dec 10 22:31:58 UTC 2019 - pousaduarte@gmail.com - Update to version 1.4.4: * [d3d11] Actually fix subresources discarded by DiscardView1 * [d3d11] Ignore D3D11_COPY_DISCARD * [d3d11] Overhaul DiscardResource and DiscardView implementations * [d3d11] Fix uninitialized DSV flags * [d3d11] Hold reference to DxvkInstance ------------------------------------------------------------------- Sat Dec 07 15:22:01 UTC 2019 - pousaduarte@gmail.com - Update to version 1.4.6: * Revert "[dxvk] Don't clear bind mask for unbound UBOs and samplers" * [meta] Release 1.4.6 * [meta] Update Vulkan headers * [d3d11] Remove d3d11.strictDivision option * [util] Enable d3d11.enableRtOutputNanFixup for FFXIV * [dxbc] Implement workaround to replace NaN render target outputs by zero * [spirv] Implement opIsNan * [dxvk] Fix multiple inclusion of dxvk_platform_exts.h * [dxvk] Disable VK_EXT_conditional_rendering * [dxvk] Don't return a value from updateShaderResources * [dxvk] Bind descriptor sets at descriptor update time * [dxbc] Emit a spec constant for uniform buffers * [dxvk] Don't clear bind mask for unbound UBOs and samplers * [meta] Recommend using new validation layers * [util] Make Fence and Win32Fence final * [d3d11] Synchronize presentation when destroying swap chain * [dxvk] Use waitForIdle when destroying DXVK device * [meta] Update default config file * [dxgi] Don't allow changing the FRAME_LATENCY_WAITABLE_OBJECT flag * [dxgi] Implement IDXGISwapChain2::GetFrameLatencyWaitableObject * [d3d11] Create frame latency event for swap chain * [util] Implement fence capable of signaling win32 events * [dxgi] Implement IDXGISwapChain2::SetFrameLatency * [util] Reimplement Signal * [d3d11] Move frame latency handling into D3D11SwapChain * [dxvk] Fix include awfulness * [util] Fix winelib build * [util] Wide character conversion changes * [d3d11] Hook up platform-specific clock * [dxvk] Hook up platform-specific clock * [util] Add platform-specific clock implementation * [d3d11] Actually fix subresources discarded by DiscardView1 * [d3d11] Ignore D3D11_COPY_DISCARD * [d3d11] Overhaul DiscardResource and DiscardView implementations * [dxvk] Sort buffer slices before returning them to the buffer * [dxvk] Enable shader-based depth-stencil copies for AMDVLK ------------------------------------------------------------------- Wed Nov 20 19:03:31 UTC 2019 - pousaduarte@gmail.com - Update to version 1.4.5: * [meta] Release 1.4.5 * [dxvk] Enable asynchronous presentation on all hardware * [dxvk] Fix synchronization around vkDeviceWaitIdle * [dxvk] Fix handling of undefined shader inputs * [dxvk] Implement pass to eliminate undefined shader input variables * [spirv] Add method to retrieve literal string from instruction * [spirv] Add method to erase data from code buffer * [spirv] Add method to allocate new ID from code buffer. * [dxvk] Avoid some unnecessary barriers around render target clears * [d3d11] Zero-initialize UAV counters * [dxvk] Always align texel buffers to at least 16 bytes * [d3d11] Also fix reset counter memory order for deferred context queries * [util] Remove traces of the allowMapFlagNoWait option * [d3d11] Remove allowMapFlagNoWait option * [d3d11] Fix memory order for query reset counter * [d3d11] Submit stalling event queries before flushing * [dxvk] Always align index buffer slices to 256 Bytes * [dxvk] Store shader capability information in separate set of flags * [util] Disable strict DC mode for MGSV again * [util] Add app profile for Metal Gear Solid 5 * [dxvk] Enable option to disable OpenVR integration * [dxvk] Move extension provider list to DxvkInstance * [dxvk] Always align vertex buffer slices to 256 bytes * [d3d11] Fix uninitialized DSV flags * [dxvk] Remove option to disable transfer queue * [dxvk] Remove ability to query instance from adapter * [d3d11] Don't query DXVK instance from adapter * [dxvk] Pass DXVK instance to DXVK device directly, not through the adapter * [dxgi] Query DXVK instance from DXGI factory, not the adapter * [dxvk] Document wonky DxvkAdapter ref count behaviour * [d3d11] Hold reference to DxvkInstance * [dxvk] Use static variables for extension provider instances * [dxvk] Implement extension provider system * [build] Simplify and correct errors in options handling * [build] Demote no frontends/tests to a warning * [d3d11] 'a' is not a very good name for a variable * [d3d11] Don't synchronize with CS thread on present * [dxvk] Let device know that async presentation is enabled * [d3d11] Do not synchronize with CS thread in GetData * [d3d11] Move query state tracking to immediate context implementation * [d3d11] Move common Begin/End implementation to immediate context * [d3d11] Track used queries in deferred contexts and command lists * [d3d11] Only execute Begin for scoped queries * [util] Fix != and == operator for private/public COM pointers * [d3d11] Only add storage buffer usage flag to constant buffers if needed * [d3d11] Move handling of constantBufferRangeCheck option to D3D11Options * [d3d11] Remove useless members from D3D11DeferredContextMapEntry * [dxgi] Use 64-bit integers for refresh rate matching math * [dxbc] Remove old constant buffer range check * [dxbc] Don't emit a spec constant for uniform buffers * [dxbc] Use SSBOs for dynamically indexed constant buffers if needed * [dxbc] Parse dynamically indexed flag for constant buffers ------------------------------------------------------------------- Sun Oct 27 18:52:21 UTC 2019 - pousaduarte@gmail.com - Update to version 1.4.4: * [meta] Release 1.4.4 * [util] Enable constant buffer range check for Saints Row games * Revert "[d3d11] Fix ref counting for D3D11CommandList" * Revert "[d3d11] Recycle command lists from deferred contexts" * [dxvk] Validate image layouts in render pass formats read from cache * [dxvk] Write correct depth-stencil attachment layout to state cache * [dxvk] Fix uninitialized depth attachment reference * [dxbc] Always set geometry shader invocation count * [dxbc] Always allocate at least one input array element * [d3d11] Adjust buffer memory flags if apitrace is attached * [dxvk] Pause transform feedback on buffer updates * [dxvk] Fix bogus xfb buffer update check * [d3d11] Remove D3D11 counter buffer class * [d3d11] Allocate predicate buffer per query * [d3d11] Allocate xfb counter buffer per buffer * [d3d11] Allocate counter buffer per UAV * [dxvk] Handle xfb barriers in commitGraphicsBarriers * [dxvk] Replace buffer in updateBuffer even outside of render passes * [dxvk] Lazily allocate slices of small buffers * [dxvk] Don't lock swap lock if not necessary * [dxvk] Pad buffers more tightly * [dxvk] Force-update draw buffer for graphics pipeline barrier checks * [dxvk] Consider indirect draw buffer in graphics pipeline barriers * [dxvk] Consider vertex/index buffers in graphics pipeline barriers * [dxvk] Introduce checkGfxImageBarrier * [dxvk] Introduce checkGfxBufferBarrier * [dxvk] Move finalizeDraw into commitGraphicsState * [d3d11] Recycle command lists from deferred contexts * [util] Add virtual destructor to NoWrapper * [d3d11] Fix ref counting for D3D11CommandList * [d3d11] Fix incorrect AddRef return value * [d3d11] Don't set HOST pipeline stage and access flags for resources * [dxbc] Declare length of shader input array late * [spirv] Add 'late' constants * [dxbc] Extend scalar constants to vectors if required * [dxbc] Assume vec4 type for i/o vars not declared in signature * [dxbc] Declare temp registers on demand * [d3d11] Validate shader module capabilities * [d3d11] Refactor shader module creation * [util] Enable constant buffer range check for Titan Quest * [dxgi] Remove useless d3d10.enable option ------------------------------------------------------------------- Sat Oct 19 14:23:52 UTC 2019 - pousaduarte@gmail.com - Update to version 1.4.3: * [meta] Release 1.4.3 * [dxbc] Swap OpSelect arguments for Ne/Dne, don't use OpLogicalNot * [dxvk] Implement more compact state cache data format (v8) * [util] Add missing != operator to Sha1Hash * [dxvk] Support component mappings in blitter * [dxvk] Add some component mapping helpers * [dxvk] Implement framebuffer-based blit * [dxvk] Add class for framebuffer-based blits * [dxvk] Support arbitrary source texture coordinates in blitter * [dxvk] Support multisampled destinations in blitter * [dxvk] Support both linear and nearest samplers in blitter * [dxvk] Factor out mip gen classes and rename them to DxvkMetaBlit* * [d3d11] Remove obsolete DefaultDesc methods from state classes * [d3d11] Fix ref counting for state objects bound to a context * [d3d11] Fix immediate context reference counting * [d3d11] Don't subclass state objects from ComObject * [d3d11] Allow choosing type wrapper for D3D11DeviceChild base class * [util] Don't allow multiple inheritance for COM objects * [d3d11] Don't get private references for state objects * [d3d11] Fix reference counting for state objects * [d3d11] Return error if no desc is provided for Create*State methods * [d3d11] Don't sync CS thread if resource to map is already in use * [d3d11] Don't use a state object for default blend state * [d3d11] Don't use a state object for default depth-stencil state * [d3d11] Don't use a state object for default rasterizer state * [d3d11] Introduce ResetState and use it for ClearState * [dxvk] Don't store sampler description in sampler objects * [dxvk] Fix buffer usage flags in commitGraphicsBarriers * [dxvk] Don't rely on binding mask in commitGraphicsBarriers * [dxvk] Don't clear binding masks in update*Pipeline * [dxvk] Remove outdated comment * [dxvk] Add function to insert framebuffer read-back barriers * [dxvk] Add dependency flag parameter to emitMemoryBarrier * [dxvk] Remove spill parameter from bindRenderTargets * [d3d11] Don't spill render pass when rebinding render targets * [dxvk] Implement accurate barrier tracking for draws with side effects * [dxvk] Introduce HasStorageDescriptors to signify pipeline side effects * [dxvk] Remove incorrect framebuffer-space barriers * [dxbc] Fix sample positions * [d3d11] Add more rigid validation for buffer creation * [d3d11] Change ValidateBufferProperties to NormalizeBufferProperties * [d3d10] Fix reported bind flags for D3D10 resources * [d3d11] Validate texture array size * [d3d11] Initialize feature level to zero in D3D11CreateDevice * [dxvk] Don't use dynamic storage buffers * [dxvk] Optimize invalidateBuffer for use with uniform buffers * [dxvk] Inline freeBufferSlice implementation * [dxvk] Dirty framebuffer in beginRecording * [dxvk] Use float format for sampled unbound image views * [dxvk] Fix tessellation validation * [dxvk] Validate graphics state in commitGraphicsState * [dxvk] Validate compute state in commitComputePipelines * [dxvk] Move descriptor set updates to updateShaderResources * [dxvk] Move dynamic descriptor offset array to stack * [dxvk] Use memcmp replacement for pipeline state lookup * [dxvk] Implement state cache v6 -> v7 conversion * [dxvk] Increase maximum spec constant count to 12 * [dxvk] Move compute pipeline state to dxvk_graphics_state.h * [dxvk] Use new struct for specialization constant info * [dxvk] Use packed blend state * [dxvk] Use packed depth-stencil state * [dxvk] Use packed multisample state * [dxvk] Use packed rasterizer state * [dxvk] Use packed input layout state * [dxvk] Use packed input assembly state * [dxvk] Move DxvkGraphicsPipelineStateInfo to new file * [dxvk] Prepare for pipeline state changes and bump cache format to v7 * [dxvk] Don't use alignas(16) for DxvkMetaClearArgs members * [dxvk] Add missing {} to border color list * [util] Fix Sha1 dword extraction * [d3d10] Remove unused copies of device ptr in D3D10 wrappers * [dxgi] Initialize size of DEVMODEW structure * [dxvk] Don't redundantly clear unused vertex strides to zero ------------------------------------------------------------------- Sat Oct 05 10:55:04 UTC 2019 - pousaduarte@gmail.com - Update to version 1.4.2: * [meta] Release 1.4.2 * [util] Report Nvidia GPUs for Modern Warfare Remastered * [d3d11] Add missing break; in CreateSurface * [util] Move GetAdapterLUID out of DXGI internals * [d3d11] Implement CreateSurface for D3D11DXGIDevice * [dxgi] Generate adapter LUIDs if Vulkan does not provide them * [dxgi] Fix some IDXGIAdapter return codes * [dxgi] Handle invalid arguments passed to Present1 * [dxgi] Fix SetFullscreenState behaviour with invalid usage * [dxgi] Fix GetContainingOutput and GetFullscreenState output pointer * [d3d11] Add support for DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE * [d3d11] Fix return code on swap chain creation failure * [d3d11] Use private reference to D3D11 device in D3D11SwapChain * [dxgi] Fix some return codes in DxgiSwapChain * [d3d11] Fix error handling in SetMaximumFrameLatency * [dxgi] Fix QueryVideoMemoryInfo return values * [dxgi] Fix CheckInterfaceSupport UMD version writeback * [dxgi] Fix GetDisplayModeList1 output for DXGI_FORMAT_UNKNOWN * [dxgi] Fix GetDisplayModeList behaviour with a zero mode count * [dxgi] Fix CheckInterfaceSupport for IDXGIDevice * [dxvk] Implement context-local lookup cache for pipeline objects * [dxvk] Move shader set hash/eq functions into respective structs * [dxvk] Use new shader lookup hash in pipeline manager * [dxvk] Expose key-based lookup hash in DxvkShader * [dxvk] Add methods to retrieve shaders from pipeline * [dxbc] Fix NaN handling in not-equal comparison * [dxvk] Re-introduce state check for updateFramebuffer ------------------------------------------------------------------- Sun Sep 29 17:31:56 UTC 2019 - pousaduarte@gmail.com - Update to version 1.4.1: * [meta] Release 1.4.1 * [dxvk] Spoof Nvidia GPU for HITMAN 2 * [dxvk] Eliminate some redundant state checks * [dxvk] Introduce finalizeDraw * [d3d11] Add a comment explaining ID3D11Predicate/ID3D11Query hack * [d3d11] Fix GetPredication * Revert "[dxbc] Always decorate SV_POSITION as invariant" * [dxbc] Always decorate SV_POSITION as invariant * [dxvk] Store context flags as a 32-bit integer * [d3d10] Add some null pointer checks when dealing with resources * [d3d10] Fix some awkward formatting * [d3d11] Handle D3D_PRIMITIVE_TOPOLOGY_UNDEFINED correctly * [dxvk] Validate primitive topology in pipeline state * [dbxc] Actually fix callc implementation * [dxbc] Implement label, call and callc instructions * [d3d11] Return device lost errors in Present if necessary * [d3d11] Implement GetDeviceRemovedReason * [dxvk] Handle device lost errors on command submission * [d3d11] Fix CheckFeatureSupport formatting and return code * Retrieve the function pointer once (#1198) * [dxvk] Explicitly compare resource use count to zero ------------------------------------------------------------------- Mon Sep 23 20:48:48 UTC 2019 - pousaduarte@gmail.com - Update to version 1.4: * [meta] Release 1.4 * [dxvk] Bump state cache version to v6 * [dxvk] Apply spec constants to compute shaders as well * [dxvk] Only time pipeline compile times if requested * [dxvk] Check if xfb buffers have actually changed on binding * [dxvk] Use separate counters for read/write resource usage * [d3d11] Disable DO_NOT_WAIT for Overwatch * [d3d11] Implement IDXGIDevice4 * [dxgi] Implement IDXGISwapChain4 * [dxgi] Implement IDXGIOutput5 * [dxgi] Implement IDXGIFactory5 * [dxgi] Include DXGI 1.5 headers * [util] Update comment for FIFA 19+ workaround (#1197) * Revert "[d3d11] Don't create linearly tiled compressed images" * [d3d11] Implement GetDC / ReleaseDC * [d3d11] Implement GDI surface * [util] Add helpers for GDI/DDI interop * [d3d11] Enable allowMapFlagNoWait by default * [dxvk] Only wait for writes when mapping with D3D11_MAP_READ * [dxvk] Implement read-write tracking for resources * [dxvk] Implement read/write tracking in lifetime tracker * [d3d11] Write to image memory directly in InitHostVisibleTexture * [d3d11] Use VK_IMAGE_LAYOUT_PREINITIALIZED for mapped images * [dxvk] Add initial layout to initImage * [dxvk] Add initial layout to image create info * [util] Enable FIFA 19 workaround for FIFA 20 as well * [d3d11] Implement DiscardView1 * [dxgi] Implement IDXGIVkInteropAdapter for IDXGIAdapter * [dxgi] Define IDXGIVkInteropAdapter interface * [dxgi] Rename IDXGIVkAdapter -> IDXGIDXVKAdapter * [d3d11] Only use mapped buffer for images if bind flags are non-zero * [util] Enable allowMapFlagNoWait for Warhammer II * [d3d11] Report unified memory if all heaps are device-local * [d3d11] Enable D3D11.3 MapOnDefaultTextures feature * [d3d11] Implement ReadFromSubresource and WriteToSubresource * [d3d11] Allow pMappedResource to be null when mapping images * [d3d11] Implement D3D11.2 MapOnDefaultBuffers feature * [d3d11] Move GetMemoryFlagsForUsage into D3D11Buffer * [d3d11] Query format support in d3d11-formats test * [d3d11] Report MapOnDefaultTextures feature as unsupported * [dxvk] Replicate R component of border color for depth compare samplers (#1194) * [d3d11] Implement ID3D11Device5 * [d3d11] Implement ID3D11Device4 * [d3d11] Implement D3D11.4 feature queries * [d3d11] Include D3D11.4 headers * [d3d11] Implement ID3D11Device3 * [d3d11] Implement ID3D11Query1 * [d3d11] Implement ID3D11UnorderedAccessView1 * [d3d11] Implement ID3D11ShaderResourceView1 * [d3d11] Implement ID3D11RenderTargetView1 * [d3d11] Implement ID3D11Texture2D1 and ID3D11Texture3D1 * [d3d11] Implement ID3D11RasterizerState2 * [d3d11] Implement ID3D11DeviceContext4 * [d3d11] Implement ID3D11DeviceContext3 * [dxbc] Implement stencil ref export from fragment shaders * [d3d11] Use shaderStorageImageReadWithoutFormat for typed UAV loads * [d3d11] Add definitions for feature levels 12_0 and 12_1 * [d3d11] Implement D3D11.3 feature queries * [d3d11] Include D3D11.3 headers * [dxbc] Implement MSAD4 instruction * [d3d11] Implement GetResourceTiling * [d3d11] Implement ID3D11Device2 * [d3d11] Implement ID3D11DeviceContext2 * [d3d11] Implement D3D11.2 feature queries * [d3d11] Include D3D11.2 headers * [d3d11] Prevent log spam from repeated Get/SetResourceMinLOD calls * [d3d11] Implement missing D3D11_FEATURE_D3D9_OPTIONS feature query * [d3d11] Optimize viewport updates if there is only one single viewport * [d3d11] Add range check for scissors and make failing it unlikely ------------------------------------------------------------------- Mon Sep 09 19:46:47 UTC 2019 - pousaduarte@gmail.com - Update to version 1.3.4: * [metΓ¦] Release 1.3.4 * [util] Enable d3d11.allowMapFlagNoWait for Control * [d3d11] Don't create linearly tiled compressed images * Work around build failure with winegcc/clang. (#1184) * [meta] Work around wine 4.15 build failure * [meta] Use -std=c++17 * [d3d11] Fix incorrect AddRef -> Release ------------------------------------------------------------------- Sun Sep 01 20:05:59 UTC 2019 - pousaduarte@gmail.com - Update to version 1.3.3: * [meta] Release 1.3.3 * [d3d11] Rename some hazard tracking methods for clarity * [d3d11] Check for conflicts withing RTV and UAV lists upon binding them * [d3d11] Resolve pipeline hazards when binding render targets * [d3d11] Resolve pipeline hazards when binding compute shader UAVs * [d3d11] Add check whether a viewed resource has a given bind flag * Update README (#1174) * [d3d11] Filter redundant OMSetRenderTargets calls * [d3d11] Remove outdated comment * [d3d11] Check for shader resource view hazards * [d3d11] Add state to track potentially hazardous bound SRVs * [d3d11] Add bound compute shader UAV mask * [d3d11] Add common view info struct to all view types * [d3d11] Remove templated SetUnorderedAccessViews * [d3d11] Don't use .at() * [dxvk] Add function to find set bits in binding mask * [dxvk] Add function to set bind mask bit to a given value * [build] Check if --add-stdcall-alias and --enable-stdcall-fixup is supported before using it. * [dxvk] Explicitly include unordered_map in dxvk_renderpass.h * [util] Use R string literals for app compat regexes * [util] Use regular expressions on full exe path to match app profiles * [util] Add method to retrieve full exe path * [dxvk] Implement depth-stencil resolve * [dxvk] Support depth-stencil resolve using VK_KHR_depth_stencil_resolve * [dxvk] Support shader-based depth-stencil resolve * [dxvk] Add meta shaders for depth-stencil resolve * [dxvk] Make device properties accessible from the device * [dxvk] Enable VK_KHR_depth_stencil_resolve if available * [dxvk] Enable VK_KHR_create_renderpass2 if available * [util] Set d3d11.dcSingleUseMode=False for SteamVR perf test * [d3d11] Update resources mapped on deferred contexts in Map() * [util] Fix compiling with clang/clang-cl * Revert "[dxvk] Use vkCmdUpdateBuffer to clear tiny buffers" * [d3d11] Recreate swap chain immediately after synchronous present fails ------------------------------------------------------------------- Thu Aug 08 20:16:06 UTC 2019 - pousaduarte@gmail.com - Update to version 1.3.2: * [d3d11] Recreate swap chain immediately after synchronous present fails * [meta] Release 1.3.2 * [d3d11] Remove d3d11.asyncPresent option * [dxvk] Implement asynchronous presentation option in the backend * [dxvk] Move some code to where it makes more sense * [d3d11] Fix incorrect tracking of mapped image subresources * Revert "[d3d11] Return error when mapping an already mapped image" * [dxvk] Avoid redundant descriptor set updates when binding buffers (v2) * [dxvk] Add config option to enable the HUD * [dxvk] Don't allow common objects to be reference-counted * [dxvk] Use DxvkObjects to create and pass around common objects * [dxvk] Add class that bundles objects shared between device and context * [dxvk] Pass DxvkDevice to DxvkRenderPassPool constructor * [dxvk] Pass DxvkDevice to DxvkEventPool constructor * [dxvk] Pass DxvkDevice to DxvkMetaClearObjects constructor * [dxvk] Pass DxvkDevice to DxvkMetaPackObjects constructor * [util] Add helper for lazy initialization * [dxvk] Check render pass before pipeline state during pipeline lookup * [meta] Remove old issue template * Update issue templates * [dxvk] Refactor the way render passes to pipeline compiler methods * [dxvk] Refactor render pass objects to not use reference counting * [dxvk] Introduce compilePipeline method to Dxvk*Pipeline classes * [dxvk] Introduce DxvkComputePipelineInstance * [dxvk] Rename compilePipeline -> createPipeline * [dxbc] Only use atomic append/consume optimization in compute shaders * [dxvk] Fix partial clears for mismatched framebuffer attachment sizes * [dxvk] Don't duplicate geometry shader system value outputs * [dxvk] Don't use reference counting for pipeline objects * [dxvk] Use shader key structs directly for pipeline lookups * [dxvk] Use shader key structs to store shaders in DxvkPipeline objects * [dxvk] Rename Dxvk*PipelineKey -> Dxvk*PipelineShaders * [dxvk] Disable resource tracking for DxvkPipeline objects * [d3d11] Don't allow the creation of buffers with a size of zero ------------------------------------------------------------------- Sat Jul 27 17:01:34 UTC 2019 - pousaduarte@gmail.com - Update to version 1.3.1: * [meta] Release 1.3.1 * [dxvk] Don't log submission errors on presentation ------------------------------------------------------------------- Fri Jul 19 12:59:25 UTC 2019 - pousaduarte@gmail.com - Update to version 1.3~git20190719: * [meta] Update README * [hud] Add GPU load monitor * [dxvk] Add GPU idle time to stat counters * [dxvk] Estimate GPU idle time based on cleanup thread activity * [dxvk] Fix meta copy operation for mipmapped images * [dxvk] Fix meta copy operation for 1D images * [dxvk] Remove old meta vertex and geometry shaders * [dxvk] Use new fullscreen shaders for mip gen operations * [dxvk] Use new fullscreen shaders for meta resolve operations * [dxvk] Use new fullscreen shaders for meta copy operations * [dxvk] Add new vertex and geometry shaders for fullscreen passes * [d3d11] Always enable depth-stencil attachment usage for depth-stencil images * [dxvk] Use render pass copy for depth-stencil images if beneficial * [dxvk] Implement device- and driver-specific performance hints * [dxvk] Support depth-stencil meta-copy operations * [dxvk] Support depth-stencil formats for meta copy objects * [dxvk] Add meta copy shaders for depth-stencil formats * [dxvk] Enable VK_EXT_shader_stencil_export if available * [dxvk] Log more device info on device creation * [util] Improve multi-line logging * [d3d11] Use unlikely() for some query code * [d3d11] Use private temporary references for queries * [d3d11] Use private temporary references for state objects * [util] Add convenience method to return public/private references * [d3d11] Simplify ApplyPrimitiveTopology code * [d3d11] Simplify BindIndexBuffer code * [dxvk] Don't check if bindings have changed in the backend * [dxvk] Don't track command count in CS chunks * [d3d11] Catch invalid ClearUnorderedAccessViewFloat calls * [d3d11] Handle integer formats in ClearRenderTargetView correctly * [dxvk] Add method to retrieve buffer view format info * [dxvk] Change DxvkImageView::formatInfo to return view format info * [dxvk] Use correct command buffer for buffer updates * [dxvk] Compute memory chunk size per memory type rather than per heap * [dxvk] Try harder to allocate memory from a given memory type * [dxvk] Don't put large resources into their own memory allocations ------------------------------------------------------------------- Tue Jul 16 07:23:12 UTC 2019 - pousaduarte@gmail.com - Update to version 1.3~git20190716: * [dxvk] Don't mark queries as stalling if DONOTFLUSH is set * [meta] Fix release number * [dxvk] Limit maximum size of multi-slice buffers * [dxvk] Fix offset in DxvkBuffer::subSlice * [dxvk] Template BindPoint parameter in some DxvkContext methods * [dxvk] Template Index parameter of commitGraphicsState * [dxvk] Get rid of validateCompute/GraphicsState ------------------------------------------------------------------- Sun Jul 14 14:51:20 UTC 2019 - pousaduarte@gmail.com - Update to version 1.3~git20190714: * [dxvk] Don't use derivative pipelines * [d3d11] Initialize subresourceLayers in the inner loop * [meta] Release 1.3 * [dxvk] Rename memoryAvailable -> memoryBudget * [spirv] Implement opCross * [spirv] Implement opFMix * [tests] Enable demoteToHelperInvocation in off-line DXBC compiler * [dxbc] Use OpDemoteToHelperInvocationEXT for discards if supported * [spirv] Add support for OpDemoteToHelperInvocationEXT * [d3d11] Enable shaderDemoteToHelperInvocation feature * [dxvk] Enable VK_EXT_shader_demote_to_helper_invocation if available * [meta] Update SPIR-V headers * [meta] Update Vulkan headers * [dxbc] Print shader signatures at debug loglevel * [dxbc] Add string output function for DxbcRegMask * [dxbc] Add ostream operator for DxbcScalarType ------------------------------------------------------------------- Wed Jul 10 20:40:56 UTC 2019 - pousaduarte@gmail.com - Update to version 1.2.3~git20190708: * [build] Mark tests as gui apps in Meson * [dxbc] Enable early discard on RADV/ACO * [d3d11] Fix RSGetViewports and RSGetScissorRects behaviour * [dxvk] Remove obsolete DxvkEvent class * [d3d11] Use new signals as frame synchronization events * [dxvk] Add support for new signals to the backend * [dxvk] Add new signal class ------------------------------------------------------------------- Sat Jul 06 10:40:09 UTC 2019 - pousaduarte@gmail.com - Update to version 1.2.3~git20190705: * [d3d11] Don't immediately synchronize after present * [dxvk] Add option to toggle asynchronous presentation * [dxvk] Implement asynchronous presentation * [dxvk] Fix typo * [d3d11] Return error when mapping an already mapped image * [dxvk] Check whether CS thread is busy before synchronizing with it * [dxvk] Increase staging buffer size to 32 MiB * [dxvk] Increase memory chunk size to 128 MiB ------------------------------------------------------------------- Wed Jul 03 12:26:00 UTC 2019 - pousaduarte@gmail.com - Update to version 1.2.3~git20190703: * [dxvk] Print VK_EXT_memory_budget stats on allocation failure * [dxvk] Add VK_EXT_memory_budget as a passive extension * [dxvk] Add support for passive device extensions * [dxvk] Free memory if vkMapMemory fails * [dxvk] Give null values to empty DxvkGraphicsPipelineInstances * [util] Add correct type suffixes to Sha1Hash dword function to silence compiler warning ------------------------------------------------------------------- Sat Jun 29 09:34:34 UTC 2019 - pousaduarte@gmail.com - Update to version 1.2.3~git20190629: * [d3d11] Enable initial image uploads over SDMA * [d3d11] Enable initial buffer uploads over SDMA * [dxvk] Upload HUD font texture via SDMA * [dxvk] Implement image uploads on SDMA * [dxvk] Implement buffer uploads on SDMA * [dxvk] Support queue ownership transfer barriers * [dxvk] Explicitly specify the command buffer for copy commands * [dxvk] Rename and add SDMA barrier sets * [dxvk] Add SDMA command buffer * [dxvk] Refactor queue submission * [dxvk] Create transfer queue command pool if available * [dxvk] Don't pass queue handles to DxvkCommandList * [dxvk] Add option to enable or disable the transfer queue * [dxvk] Provide way to access queue properties from device * [dxvk] Rework queue family selection * [dxvk] Properly clear used command buffer flags * [dxvk] Get rid of array in present vertex shader ------------------------------------------------------------------- Thu Jun 27 20:44:41 UTC 2019 - pousaduarte@gmail.com - Update to version 1.2.3~git20190627: * [d3d11] Remove unused SetRenderTargets method * [d3d11] Spill render pass when restoring context state as needed * [d3d11] Fix UAV binding in OMSetRenderTargets{,AndUnorderedAccessViews} * [spirv] Expose MatrixStride decoration for members * [spirv] Add generic memberDecorate * [spirv] Expose opMatrixTimesMatrix, opMatrixTimesVector and opVectorTimesMatrix * [dxvk] Avoid redundant vertex and index buffer tracking * [dxvk] Reorder command list reset operations by importance * [meta] Release 1.2.3 * [d3d11] Copy initial texture data to mapped buffer, if available * [dxvk] Use void pointers for packImageData * [dxvk] Avoid updating binding mask on hot path in updateShaderResources * [dxvk] Implement comparison and setting multiple bits for DxvkBindingSet * [dxvk] Clean up updateShaderResources a bit * [dxvk] Avoid redundant resource tracking * [dxvk] Add more generic version of DxvkBindingMask * [dxvk] Fix poor API design around defining resource slots ------------------------------------------------------------------- Sat Jun 22 10:49:19 UTC 2019 - pousaduarte@gmail.com - Update to version 1.2.2~git20190621: * [dxgi] Don't fail leaving fullscreen if window is already destroyed * [dxvk] Release staging buffer memory for HUD context * [dxvk] Add method to explicitly release staging buffer memory * [dxvk] Remove old staging buffer code * [dxvk] Remove old staging buffer allocator from DxvkCommandList * [dxvk] Use new staging buffer allocator in DxvkContext * [dxvk] Implement new staging buffer allocator * [d3d11] Further optimize constant buffer binding * [d3d11] Template all functions that take ShaderStage as an argument * [dxvk] Prefer VRAM allocation over dedicated sysmem allocation * [util] Correct return value of SetThreadDescription * [dxvk] Log memory utilization per heap on memory allocation failures * [d3d11] Fix GetData parameter validation * [d3d11] Implement timestamp disjoint queries * [d3d11] Use an array for query and event objects ------------------------------------------------------------------- Sat Jun 15 22:05:44 UTC 2019 - pousaduarte@gmail.com - Update to version 1.2.2~git20190615: * [dxvk] Add method to permanently change image layout * [meta] Release 1.2.2 * [dxbc] Disable atomic counter optimization on old RADV versions * [dxvk] Always pass through fully enabled color write masks * [d3d11] Fix CheckMultisampleQualityLevels return code * [dxvk] Fix various issues in GetFormatSupportFlags * [vulkan] Add operator overloads for VkOffset3D/2D * [d3d11] Implement IDXGISurface2 for ID3D11Texture1D * [d3d11] Fix default blend factor * [d3d11] Fix WSize computation for UAV creation * [d3d11] Don't create SRVs and UAVs with a size of 0 * [d3d11] Skip GenerateMips if mip gen flag is not set on resource * [d3d11] Validate bind flags for D3D11_RESOURCE_MISC_GENERATE_MIPS * [d3d11] Validate buffer descriptions * [d3d11] Fix behaviour with a viewport count of zero * [d3d11] Fix incorrect behaviour when a scissor rect is not specified * [d3d11] Fix crash when setting too many viewports * [util] Report correct GPU vendor to Far Cry 3, 4 and Blood Dragon * [dxbc] Fix useRawSsbo option * [dxbc] Repurpose useRawSsbo option * [dxbc] Always use raw storage buffers if alignment requirements are met * [dxbc] Store alignment for raw and structured buffers * [d3d11] Fix crash in GetMaximumFrameLatency with a nullptr argument * [util] Fix COM private data bug when passing NULL interface * [dxgi] Fix some issues introduced with FilterModesByDesc cleanup ------------------------------------------------------------------- Tue Jun 11 12:24:44 UTC 2019 - pousaduarte@gmail.com - Update to version 1.2.1~git20190611: * [dxgi] Return non-exact matches from FindClosestMatchingMode1 ------------------------------------------------------------------- Mon Jun 10 11:01:30 UTC 2019 - pousaduarte@gmail.com - Update to version 1.2.1~git20190606: * [dxvk] Revert buffer re-binding optimization * [dxvk] Add likely/unlikely around critical CS chunk append code * [dxvk] Only update buffer object in buffer slices if necessary * [d3d11] Avoid buffer ref count changes when only changing offsets * [dxvk] Avoid redundant descriptor set updates when binding buffers * [d3d11] Fix inconsistencies in Map/Unmap on immediate/deferred contexts * [d3d11] Avoid emitting redundant vertex and index buffer updates * [util] Add unlikely() around COM ref counting code * [d3d11] Add some likely/unlikely around CS flushes * [d3d11] Don't clear DSV aspects that are marked as read-only * [d3d11] Initialize depth images to zero rather than one * [d3d11] Fix initial swap chain image count * [dxvk] Fix binding indices for vertex attribute divisor * [util] Fix return value of AddRef ------------------------------------------------------------------- Mon May 27 12:51:42 UTC 2019 - pousaduarte@gmail.com - Update to version 1.2.1~git20190525: * [d3d11] Respect COPY_FLAG_NO_OVERWRITE when updating constant buffers ------------------------------------------------------------------- Fri May 24 14:05:06 UTC 2019 - pousaduarte@gmail.com - Update to version 1.2.1~git20190520: * [d3d11] Validate subresource index in MapImage * [d3d11] Support mapping multiple image subresources at the same time * [dxvk] Add new helper function to compute mip level extent * [meta] Release 1.2.1 * [d3d11] Remove useless 'virtual' keyword * Revert "[d3d11] Use STDMETHODCALLTYPE for private virtual method" * [util] Also test for symlinks when installing/uninstalling ------------------------------------------------------------------- Sat May 18 15:10:00 UTC 2019 - pousaduarte@gmail.com - Update to version 1.2~git20190518: * [utils] Don't try to install or remove missing dlls * [util] Enable D3D11_MAP_FLAG_DO_NOT_WAIT for The Surge * [d3d11] Update mapped buffers of staging textures immediately * [util] Spoof Nvidia GPUs for Mirror's Edge Catalyst ------------------------------------------------------------------- Thu May 16 18:17:39 UTC 2019 - pousaduarte@gmail.com - Update to version 1.2~git20190515: * [d3d11] Use STDMETHODCALLTYPE for private virtual method * [build] Add options to disable dxgi/d3d* build * [d3d10] Fix winelib build * [tests] Enable atomic counter optimization for standalone DXBC compiler * [dxbc] Use subgroup operations for atomic append/consume operations * [spirv] Add OpUndef and more subgroup instructions * [dxbc] Add option to use subgroup ops for atomic counter operations * [d3d10] Add static method implementing D3D10CreateDeviceAndSwapChain1 * [d3d11] Add static method implementing D3D11CreateDeviceAndSwapChain * [util] Don't use `if constexpr` * [dxvk] Don't align pushg constant data to 64 bytes * [dxvk] Apply view swizzles to image clears * [dxvk] Add method to swizzle clear color values * [dxvk] Pass clear value to clearRenderTarget by value * [d3d11] Use private references for render targets * [util] Add support for private references in Com<...> wrapper * [util] Fix COM reference count type * [meta] Release 1.2 * Changed visibility of the winelib build to behave more like MinGW ------------------------------------------------------------------- Sat May 11 10:19:16 UTC 2019 - pousaduarte@gmail.com - Update to version 1.1.1~git20190509: * [dxvk] Don't use ALL_COMMANDS_BIT to notify events * [dxvk] Increase number of queued command buffers to 12 * [d3d11] Flush more aggressively when CPU bound * [d3d11] Flush more aggressively on stalling Event queries * [dxvk] Change flushing behaviour of immediate context methods * [util] Optimize popcnt operation * [dxvk] Add aspect mask parameter to clearImageView * [dxvk] Begin render pass in clearImageViewFb if necessary ------------------------------------------------------------------- Wed May 08 12:39:25 UTC 2019 - pousaduarte@gmail.com - Update to version 1.1.1~git20190508: * [dxvk] Compact vertex buffer bindings * [dxvk] Optimize unbound vertex buffer handling * [dxvk] Fix unbound vertex buffer handling * [dxvk] Optimize vertex buffer binding * [util] Disable NvAPI hack for Mirror's Edge Catalyst * [hud] Optimize HUD rendering * [dxvk] Implement push constant API * [dxvk] Add push constant range info to shaders and pipeline layout * [dxvk] Pass slot mapping to pipeline layout constructor * [dxvk] Optimize spinlock implementation ------------------------------------------------------------------- Mon May 06 12:39:09 UTC 2019 - pousaduarte@gmail.com - Update to version 1.1.1~git20190506: * [dxvk] Bump state cache version to v5 * [dxvk] Add API for specialization constants * [dxvk] Remove extra pipeline state * [d3d11] Implement depth bounds extension * [d3d11] Implement MultiDrawIndirectCount extension * [d3d11] Support count buffer in Set|BindDrawBuffers * [d3d11] Implement MultiDrawIndirect extension * [d3d11] Implement barrier control extension * [d3d11] Add stub implementation of D3D11DeviceExt * [d3d11] Add stub implementation of D3D11DeviceContextExt * [d3d11] Add interfaces to support D3D11 extensions * [dxvk] Implement depth bounds test in backend * [dxvk] Introduce new pipeline state to enable depth bounds test * [dxvk] Implement indirct draw commands with indirect count * [dxvk] Enable VK_KHR_draw_indirect_count if available * [dxvk] Fix stale vertex attribute divisor * [dxvk] Off-load command buffer submission to separate thread * [d3d11] Fix MSVC 2017 compilation ------------------------------------------------------------------- Sat May 04 19:57:58 UTC 2019 - pousaduarte@gmail.com - Update to version 1.1.1~git20190504: * [meta] Release 1.1.1 * [d3d11] Implement D3D11DeviceContext::SwapDeviceContextState * [d3d11] Implement D3D11Device::CreateDeviceContextState * [d3d11] Add class to implement D3DDeviceContextState ------------------------------------------------------------------- Fri May 03 21:38:30 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190503: * [d3d10] Explicitly define GUID for ID3D10StateBlock * [dxvk] Disable depthWriteEnable if depth attachment has read-only layout * [dxvk] Add helper function to get info about depth-stencil image layouts * [d3d10] Implement state blocks * [spirv] Implement proj sample variants * [d3d11] Fix counter value offset in DrawAuto * [d3d11] Always enable shaderStorageImageWriteWithoutFormat * [d3d11] Minor Map/Unmap optimizations * [d3d11] Minor CPU savings * [dxvk] Bump state cache format to version 4 * [d3d11] Set up extra state for the HUD renderer * [d3d11] Set up unused extra state for the backend correctly * [dxvk] Remove old spec constant code * [dxvk] Use new specialization constant code for graphics pipelines * [dxvk] Use new specialization constant code for compute pipelines * [dxvk] Add new structure to generate specialization constant info * [dxgi] Change default of s_gamma_bound to true * [dxbc] Remove old spec constant code * [dxbc] Use new spec constant API for rasterizer sample count * [dxbc] Add new emitNewSpecConstant method * [d3d11] Add missing interface queries for IDXGIObject and IDXGIDeviceSubObject * [util] Enable constant buffer range check for NieR:Automata * [dxbc] Disable Constant Buffer Range Check on AMD * [dxvk] Re-implement early discard with quad granularity * [d3d11] Check if uav's counter slice is defined in CopyStructureCount * [dxbc] Fix xfb passthrough for system values * [d3d11] Clean up rasterizer state initialization * [dxbc] Store sample positions as vec2 array * [spirv] Add constvec2f32 helper * [dxbc] Remove some old TODOs * [dxbc] Correctly report a sample count of 0 for unbound images * [dxbc] Correctly report a size of 0 for unbound images * [dxbc] Correctly report a size of 0 for unbound buffers * [dxbc] Fix typo in sample positions ------------------------------------------------------------------- Sun Apr 28 12:43:30 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190427: * [d3d11] Implement IDXGIResource1 for textures and buffers * [d3d11] Add basic implementation of IDXGIResource1 * [dxgi] Add missing DXGI_CPU_ACCESS_* defines * [d3d11] Pass texture as D3D11Resource to DXGI interop objects * [d3d11] Implement Map / Unmap for IDXGISurface2 * [d3d11] Implement IDXGISurface2 for compatible 2D textures * [meta] Add default dxvk.conf ------------------------------------------------------------------- Fri Apr 26 17:42:42 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190426: * [dxvk] Add support for per-app configuration * [dxvk] Add some 'unlikely' statements * [d3d11] Remove predication workaround for RADV * [d3d11] Improve CreatePredicate logging * [d3d11] Disable Predication support * [dxvk] Simplify validateGraphicsState ------------------------------------------------------------------- Wed Apr 24 12:34:31 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190423: * [d3d11] Don't use presentation fence * [d3d11] Select sync event based on back buffer count * [d3d11] Allocate one additional swap chain image ------------------------------------------------------------------- Sat Apr 20 18:35:43 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190419: * [dxvk] Use stricter barriers around meta operations * [dxvk] Support image sub-regions for resolve operations * [dxvk] Add adapterCount function to DXVKInstance. * [spirv] Implement constvec3f32 * [spirv] Implement opVectorTimesScalar * [spirv] Implement opPow * [dxvk] Fix subresources in barriers for 2D views of 3D images * [dxbc] Replace computeResourceSlotId by light-weight alternatives ------------------------------------------------------------------- Mon Apr 15 11:46:20 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190415: * [hud] Show compiler activity indicator for at least one second * [dxbc] Do not emit GS system values if rasterization is disabled * [d3d11] Fix hasing of geometry shaders with stream output ------------------------------------------------------------------- Sun Apr 14 18:17:39 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190414: * [d3d11] Track query state correctly * [d3d11] Don't allocate predicate for unsupported predicates * [hud] Add new HUD entry to show shader compiler activity * [hud] Pass surface size to HUD renderer * [dxvk] Add stat counter for shader compiler activity ------------------------------------------------------------------- Sat Apr 13 11:10:15 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190413: * [meta] Update README with 'api' option for the HUD ------------------------------------------------------------------- Fri Apr 12 17:09:59 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190412: * [util] Enable D3D11_MAP_FLAG_DO_NOT_WAIT for Anno 1800 * [build] Fix MSVC build with version info * [dxvk] Increase query pool sizes * [dxvk] Implement shader-based resolve * [dxvk] Re-implement class to create meta-resolve objects * [dxvk] Enable VK_AMD_shader_fragment_mask if available * [dxvk] Add new resolve shaders * [d3d11] Allocate mapped buffers for staging images on cached memory * Revert "[d3d11] Select memory type based on CPU access flags" * Revert "[meta] Release 1.1" * [dxgi] Fix broken gamma with combined image samplers * [meta] Release 1.1 ------------------------------------------------------------------- Sat Apr 06 13:01:28 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190406: * [dxvk] Fix circular reference between DxvkDevice and DxvkGpuQueryPool * [build] Use `generator` to produce resource files * [build] Fix winelib `wrc` * [dxvk] Fix build failure for some people * [build] Add version info to compiled DLLs * [util] Enable constant buffer range check for Dark Souls Remastered ans Grim Dawn * [d3d11] Add option to enable constant buffer range checks * [dxbc] Implement optional constant buffer range check * [dxvk] Fix move constructor of DxvkShaderModule * [spirv] Fix initial allocation size for compressed buffer * [dxvk] Store compressed shader modules in DxvkShader * [dxvk] Store enabled SPIR-V capabilities explicitly * [spirv] Implement in-memory compression for shader modules * [util] Add helpers to pack/unpack data to/from larger units * [dxvk] Zero-Initialize SpecConstantData ------------------------------------------------------------------- Wed Apr 03 19:01:04 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190403: * [dxvk] Simplify DxvkShaderModule * [dxvk] Don't cache shader modules for graphics pipelines * [dxvk] Don't cache shader modules for compute pipelines * [d3d11] Use combined image sampler descriptors for the presenter * [hud] Use combined image s1ampler for the font texture * [dxvk] Support combined image sampler descriptors in the backend * fix typo in README.md * Only try once to recreate surfaces on surface loss. * [vulkan] Don't loop endlessly on a lost surface. * [vulkan] Recreate the surface on surface loss. * [dxvk] Properly reset global barrier access flags * [dxvk] Fix write access flag for barriers * [dxvk] Use global memory barrier instead of resource barriers if possible * [dxvk] Pull buffer updates out of render passes whenever possible * [dxvk] Allow barriers to be recorded into a specific command buffer * [dxvk] Rename DxvkCmdBufferFlag -> DxvkCmdBuffer * [dxvk] Add missing feature check for conditional rendering * [d3d11] Lazily allocate predicate on SetPredication * [dxvk] Set empty scissor rect when the app requests empty viewport * [dxvk] Do not invalidate iterator before disabling queries * [dxvk] Introduce extra pipeline state * [dxvk] Remove unused alphaToOne state ------------------------------------------------------------------- Sun Mar 31 12:45:49 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190331: * [util] Enable deferred surface creation for "Dissidia Final Fantasy NT Free Edition". Avoid white screen, "D3D11Device: No such vertex shader semantic: COLOR0"... https://www.reddit.com/r/archlinux/comments/b7e38x/protondxvk_dissidia_nt/ ------------------------------------------------------------------- Sat Mar 30 14:36:54 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190329: * [util] Enable deferred surface creation for Nioh * [dxgi] Use a recursive mutex. * [d3d11] Implement fast path for binding full constant buffers * [d3d11] Correctly handle out-of-bounds constant buffer ranges * [d3d11] Work around predicate buffer sync issue on RADV * [d3d11] Properly implement SetPredication * [d3d11] Allocate predicate buffer for predicates * [d3d11] Remove unused revision field from D3D11Query * [dxvk] Implement conditional rendering * [dxvk] Add command list functions for conditional rendering * [dxvk] Enable conditionalRendering feature if present * [dxvk] Enable VK_EXT_conditional_rendering if available * [vulkan] Load functions for VK_EXT_conditional_rendering * [dxvk] Remove needless lambda capture of 'this'. * [dxvk] Log vertex attributes and buffers when logging pipeline state. ------------------------------------------------------------------- Wed Mar 27 17:25:22 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190327: * [dxvk] Fix buffer offset in copyDepthStencilImageToPackedBuffer * [dxvk] Implement blitImage function * [d3d11] Select memory type based on CPU access flags * [d3d11] Implement depth-stencil uploads in resource initializer * [d3d11] Implement depth-stencil uploads in UpdateSubresource1 * [d3d11] Implement depth-stencil mapping on deferred contexts * [d3d11] Implement depth-stencil mapping on the immediate context * [d3d11] Enable shaderStorageImageExtendedFormats device feature * [d3d11] Fix image format mapping when creating mapped buffer * [d3d11] Add method to look up packed format * [dxgi] Add methods to retrieve original format mappings * [dxvk] Implement depth-stencil upload via temporary buffer * [dxvk] Implement depth-stencil unpacking * [dxvk] Create depth-stencil unpacking pipelines * [dxvk] Add depth-stencil unpacking shaders ------------------------------------------------------------------- Mon Mar 25 19:27:27 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190325: * [dxvk] Rename dxvk_resolve_{vert|geom} -> dxvk_copy_{vert|geom} * [dxvk] Optimize meta copy barriers * [dxvk] Optimize meta geometry shaders ------------------------------------------------------------------- Mon Mar 25 13:43:37 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190324: * [d3d11] Don't sample gamma texture if the gamma curve is identity * [dxvk] Remove shader-based resolve * [dxvk] Use resolve attachment for meta-resolve ops ------------------------------------------------------------------- Sun Mar 17 19:01:44 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190317: * [dxvk] Use vkResetQueryPoolEXT to reset individual queries * [dxvk] Enable hostQueryReset device feature if available * [dxvk] Enable VK_EXT_host_query_reset if available * [meta] Update Vulkan headers to 1.1.104 * [d3d11] Use new query implementation * [dxvk] Support new query implementation * [dxvk] Create new query pool and forward it to the context * [dxvk] Add new query implementation * [d3d11] Use new GPU events for D3D11 Event queries * [dxvk] Implement method to signal GPU events * [dxvk] Create GPU event pool and forward it to the context * [dxvk] Add GPU event class ------------------------------------------------------------------- Thu Mar 14 21:37:00 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0.1~git20190314: * [meta] Release 1.0.1 * [d3d11] Don't use presentation fence on ANV * [dxgi] Remove obsolete global monitor helper functions * [dxgi] Use IDXGIVkMonitorInfo in DxgiSwapChain * [dxgi] Use IDXGIVkMonitorInfo in DxgiOutput * [dxgi] Implement IDXGIVkMonitorInfo for DxgiFactory * [dxgi] Add new COM interface for per-monitor data * [dxvk] Don't enforce HOST_CACHED flag when allocating memory * [util] Disable NvAPI hack for Star Wars Battlefront 2015 * [d3d11] Check image block alignment in UpdateSubresource1 * [util] Enable relaxed barriers for Devil May Cry 5 ------------------------------------------------------------------- Mon Mar 11 13:31:37 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0~git20190309: * [dxbc] Use SDiv instead of ShiftRightLogical for index calc on Nvidia ------------------------------------------------------------------- Sun Mar 03 15:32:13 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0~git20190302: * [dxvk] Only enable xfb subpass barrier if feature is enabled * [d3d11] Reimplment GetEnabledShaderStages using getShaderPipelineStages * [dxvk] Use getShaderPipelineStages for dummy resource creation * [dxvk] Implement DxvkDevice::getShaderPipelineStages ------------------------------------------------------------------- Thu Feb 28 23:14:57 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0~git20190227: * [d3d11, d3d10] Init returnptrs for CreateDevice funcs. * [d3d10] Fix and cleanup S_FALSE handling * [dxgi] Correct return values for CreateDXGIFactory[1/2] * [d3d10] Fix null pBlendStateDesc being dereferenced on def. desc * [d3d10] nullptr checks for resource creation * [d3d11] nullptr check descs & fix return values ------------------------------------------------------------------- Wed Feb 27 19:18:11 UTC 2019 - pousaduarte@gmail.com - Update to version 1.0~git20190226: * Fix uninstall command example * [dxvk] Release 1.0 * [meta] Update README * [meta] Add option to preserve build directories to package-release.sh * [utils] Remove winetricks verb and old setup script * [utils] Add new setup script * [d3d11] Block on image acquisition fence before presenting * [vulkan] Create per-swap image fences for presenter * [vulkan] Add helper method to wait for presenter fence * [vulkan] Add optional fence paratemer to acquireNextImage * [dxbc] Fix invalid SPIR-V for FirstBitHi / FirstBitShi on vectors * [dxbc] Decorate integer fragment shader builtins as flat * [dxvk] Fix feature query for vertex attribute divisor * [dxbc] Only emit depth clamp in fragment shader if necessary * [dxvk] Use depthClipEnable during graphics pipeline creation * [dxvk] Enable depthClipEnable feature if available * [dxvk] Enable VK_EXT_depth_clip_enable if available * [meta] Update Vulkan headers to 1.1.101 * [d3d11] Do not enable shaderStorageImageMultisample device feature * [dxbc] Fix SPIR-V caps for SRV and UAV resources * [utils] Report Nvidia GPUs for Far Cry 3 and Far Cry 4 * Update DXVK_FILTER_DEVICE_NAME to support matching substrings * [util] Enable relaxed barriers for Resident Evil 7 * [hud] Add 'api' option to show the client API * [dxvk] Pass description of the client API to the DXVK device * [d3d11] Move sType/pNext initialization for dev.features to backend * [d3d11] Fix device feature enablement in some situations * [dxvk] Create state cache directory if it does not yet exist * [util] Implement createDirectory function * [util] Implement tows method to convert strings to wide strings * [dxgi,d3d11] Remove IDXGIVkPresentDevice * [d3d11] Move D3D11 presenter creation to WineDXGISwapChainFactory * [dxgi,d3d11] Move swap chain creation to D3D11 module * [dxgi] Use IWineDXGISwapChainFactory to create DXGI swap chains * [d3d11, d3d10, dxgi] Handle null ppvObject in QueryInterface. (#909) * [dxvk] Use vkCmdUpdateBuffer to clear tiny buffers * [dxvk] Don't create flat 2D views for cube maps * [util] Enable relaxed barriers for Resident Evil 2 * [d3d11] Add option to disable write-after-write barriers * [dxvk] Implemet IgnoreWriteAfterWrite for compute shaders * [dxvk] Add methods to query source access type for an accessed resource * [dxvk] Add type and context method to set barrier control flags * [dxbc] OpSDiv by 4 -> OpShiftRightLogical by 2 * [dxbc] Fix storage class for UBO loads * [utils] Enable strict division for Final Fantasy XIV * [dxbc] Add option to enable strict sm4-compliat division * [dxbc] Reduce length of temporary shader input array to a minimum * [d3d11] Minor map optimization on deferred contexts * [d3d11] Minor map optimization on immediate contexts * [dxvk] Inline DxvkBuffer::allocSlice and DxvkBuffer::freeSlice * [dxvk] Only merge clears when framebuffer size matches view size * [util] Disable nvapi hack for Far Cry 4 / Primal * [dxbc] Only load requested components from constant buffers * [dxvk] Restore dedicated allocation behaviour * [dxvk] Use VK_EXT_memory_budget to report memory usage * [dxvk] Remove dxvk.allowMemoryOvercommit option * [dxvk] Wire up memory priority to device memory allocations * [dxvk] Store device instead of adapter in memory allocator * [dxvk] Enable VK_EXT_memory_priority and features if available * [dxvk] Use high memory priority for GPU-writable resources * [dxvk] Introduce concept of priorities to device-local memory allocations * [meta] Update Vulkan headers to 1.1.98 ------------------------------------------------------------------- Sun Jan 27 21:29:08 UTC 2019 - pousaduarte@gmail.com - Update to version 0.96~git20190126: * [meta] Release 0.96 * [utils] Disable nvapi hack for Mass Effect Andromeda * [dxbc] Reduce length of tessellation i/o arrays to minimum * [dxbc] Add method to count required registers for signatures * [dxbc] Parse patch constant signature ------------------------------------------------------------------- Thu Jan 24 21:15:23 UTC 2019 - pousaduarte@gmail.com - Update to version 0.95~git20190123: * [d3d11] Avoid redundant viewport updates in RSSetState * [dxvk] Implement separate code path for clear-only render passes * [dxvk] Use explicit barriers after framebuffer clears * [dxvk] Properly support TOP_OF_PIPE and BOTTOM_OF_PIPE for barriers * [dxvk] Don't flush barriers in renderPassBindFramebuffer * [dxvk] Make external subpass dependencies part of DxvkRenderPassOps * Revert "[dxvk] Don't put rendering stage/access masks into image info" * [dxvk] Add support for general memory barriers ------------------------------------------------------------------- Tue Jan 22 13:23:25 UTC 2019 - pousaduarte@gmail.com - Update to version 0.95~git20190122: * [dxvk] Fix render pass ops in clearImageViewFb * [d3d11] In D3D11CreateDevice, create DXGI factory with IDXGIFactory1 support (#878) ------------------------------------------------------------------- Sat Jan 19 17:56:13 UTC 2019 - pousaduarte@gmail.com - Update to version 0.95~git20190119: * [util] Update per-app config overrides * [d3d11] Remove d3d11.fakeStreamOutput option * [d3d11] Allow arbitrary back buffer formats for swap chains * [dxvk] Update buffer view in clearBufferView * [dxvk] Fix incorrect buffer view range for views with non-zero offset ------------------------------------------------------------------- Fri Jan 18 13:54:54 UTC 2019 - pousaduarte@gmail.com - Update to version 0.95~git20190117: * [dxvk] Move blend constants and stencil ref state to DxvkDynamicState * [dxvk] Move depth bias out of rasterizer state * [dxvk] Only update index buffer for indexed draws * [dxvk] Bump state cache version to v3 * [dxvk] DepthClampEnable -> DepthClipEnable * [d3d11] Do not enable depth bias if the parameters are zero * [dxvk] Use minimal set of dynamic state * [dxvk] Add methods to check which dynamic states a pipeline uses * [dxvk] Don't re-emit dynamic state every time we bind a pipeline ------------------------------------------------------------------- Tue Jan 15 14:11:15 UTC 2019 - pousaduarte@gmail.com - Update to version 0.95~git20190115: * [d3d11] Fix bad check in DrawInstancedIndirect (#863) * [d3d11] Remove unused syncMode option * [d3d11] Reintroduce support for dxgi.maxFrameLatency ------------------------------------------------------------------- Mon Jan 14 12:55:33 UTC 2019 - pousaduarte@gmail.com - Update to version 0.95~git20190113: * [meta] It's 2019! * [util] Change getEnvVar to use getenv (#859) ------------------------------------------------------------------- Sun Jan 13 12:09:21 UTC 2019 - pousaduarte@gmail.com - Update to version 0.95~git20190112: * [meta] Release v0.95 * [d3d11] Only apply viewport and scissor rect if they have changed ------------------------------------------------------------------- Sat Jan 12 19:27:21 UTC 2019 - pousaduarte@gmail.com - Update to version 0.94~git20190112: * [d3d11] Fix log spam in SetEvictionPriority stubs * [dxbc] Support parsing the ISG1 and OSG1 signature chunks * [util] Get rid of explicit wchar_t parameter * [d3d11] Add some documentation to d3d11_cmd.h ------------------------------------------------------------------- Thu Jan 10 19:06:07 UTC 2019 - pousaduarte@gmail.com - Update to version 0.94~git20190110: * [d3d11] Fix build errors on MSVC * [d3d11] Use multiDrawIndirect for subsequent indirect draw calls * [d3d11] Enable multiDrawIndirect device feature if available * [dxvk] Introduce command type with extra data * [util] Disable NVAPI hack for NFS2015 and CoD:WW2 * [dxgi] Add dxgi.nvapiHack option to disable NVAPI workaround * [dxvk] Remove DxvkPhysicalBuffer and friends * [dxvk] Reimplement DxvkBuffer * [dxvk] Reimplement DxvkBufferView * [dxvk] Use DxvkBufferSliceHandle for dummy resources * [dxvk] Use DxvkBufferSliceHandle for staging buffers * [dxvk] Use DxvkBufferSliceHandle for transform feedback * [dxvk] Use DxvkBufferSliceHandle for buffer memory barriers * [dxvk] Introduce DxvkBufferSliceHandle * [d3d11] Fix CheckMultisampleQualityLevels behaviour * [util] Enable raw SSBOs for FIFA 19 * [dxbc] Add options to enable/disble early discard and raw ssbo use * [util] Add tristate config option type ------------------------------------------------------------------- Tue Jan 08 20:12:56 UTC 2019 - pousaduarte@gmail.com - Update to version 0.94~git20190108: * [d3d11] Improve error logging when texture creation fails * [dxbc] Fix incorrect error message * [meta] Update README * [hud] Add DXVK_HUD=full option ------------------------------------------------------------------- Fri Jan 04 19:31:08 UTC 2019 - pousaduarte@gmail.com - Update to version 0.94~git20190104: * [build] Use meson_version (#845) * Only set 2D_ARRAY_COMPATIBLE on 3D textures that will be rendered to. * [d3d10] Check if d3d11 pointers are null ------------------------------------------------------------------- Sun Dec 30 22:54:13 UTC 2018 - pousaduarte@gmail.com - Update to version 0.94~git20181230: * [d3d11] Lock in SynchronizeCsThread * [d3d10] Use context lock instead of separate device lock ------------------------------------------------------------------- Fri Dec 21 18:53:34 UTC 2018 - pousaduarte@gmail.com - Update to version 0.94~git20181221: * [dxgi] Refactor swap chain creation * [dxgi] Implement and use GetWindowClientSize fuction * [d3d11] Implement IWineDXGISwapChainFactory ------------------------------------------------------------------- Thu Dec 20 12:08:11 UTC 2018 - pousaduarte@gmail.com - Update to version 0.94~git20181220: * [vr] Cosmetic code cleanup, again * [vr] Query required device extensions during instance creation * [d3d11] Remove some unnecessary type casts in interop code ------------------------------------------------------------------- Sat Dec 15 13:52:19 UTC 2018 - pousaduarte@gmail.com - Update to version 0.94~git20181215: * [meta] Release 0.94 * [dxbc] Rename struct_c0 -> c0_t etc. * [tests] Enable raw SSBO option * [dxbc] Use raw SSBOs for raw and structured buffers if appropriate * [dxbc] Add useRawSsbo option * [dxvk] Bind buffer slice when binding buffer view * [dxvk] Relax compute shader barriers for read-only storage buffers * [dxvk] Store access flags in resource slots * [d3d11] Mark raw and structured buffers as potential storage buffers * [spirv] Add OpArrayLength instruction * [d3d11] Re-introduce support for dxgi.numBackBuffers option ------------------------------------------------------------------- Thu Dec 13 17:16:40 UTC 2018 - pousaduarte@gmail.com - Update to version 0.93~git20181212: * [dxgi] Catch exception when instance creation fails * [dxbc] Check for RADV/Nvidia drivers explicitly using the new function * [dxvk] Add function to check for a specific driver / driver version * [dxvk] Enable VK_KHR_driver_properties ------------------------------------------------------------------- Tue Dec 11 17:55:30 UTC 2018 - pousaduarte@gmail.com - Update to version 0.93~git20181211: * [dxgi] Clean up DxgiAdapter * [dxgi] Use new mode switch API for DxgiOutput * [dxgi] Use new mode switch API for DxgiSwapChain * [dxgi] Add new functions to change the display mode of a monitor * [dxgi] Remove SetOutputData and GetOutputData methods * [dxgi] Port DxgiOutput and DxgiSwapChain to new monitor data API * [dxgi] Add functions to share per-monitor data between DXGI objects ------------------------------------------------------------------- Tue Dec 11 13:31:39 UTC 2018 - pousaduarte@gmail.com - Update to version 0.93~git20181210: * [dxgi] Move GetOutputFromMonitor to swap chain class * [dxgi] DxgiSwapchain: Remove SetGammaControl methods * [dxgi] DxgiSwapchain: Take factory as IDXGIFactory ------------------------------------------------------------------- Fri Dec 07 12:56:27 UTC 2018 - pousaduarte@gmail.com - Update to version 0.93~git20181207: * [dxvk] Clear color write mask if fragment shader output is undefined * [d3d10] Initialize DSV pointer in OMGetRenderTargets ------------------------------------------------------------------- Thu Dec 06 18:37:07 UTC 2018 - pousaduarte@gmail.com - Update to version 0.93~git20181206: * [dxgi] Ignore scaling and scanline order during fullscreen transitions ------------------------------------------------------------------- Thu Dec 06 09:22:11 UTC 2018 - pousaduarte@gmail.com - Update to version 0.93~git20181204: * [dxvk] Don't re-initialize 3D images when clearing render targets * [dxgi] Report Adapter LUID if available * [d3d11] Find Vulkan device if DXGI adapter was not created by DXVK * [dxvk] Add new methods to find adapters by LUID or device ID * [dxvk] Query device ID information if available * [dxgi] Remove old DXGIDevice implementation and IDXGIVkDevice * [d3d11] Move IDXGIDevice implementation to D3D11 module ------------------------------------------------------------------- Tue Dec 04 17:52:54 UTC 2018 - pousaduarte@gmail.com - Update to version 0.93~git20181204: * Revert "[vr] Cosmetic code cleanup" ------------------------------------------------------------------- Mon Dec 03 14:29:03 UTC 2018 - pousaduarte@gmail.com - Update to version 0.93~git20181202: * Revert "[util] Report Nvidia GPU for Battlefield 1" * [d3d10] D3D10CreateDeviceAndSwapChain: Ignore swap chain if null * [d3d11] D3D11CreateDeviceAndSwapChain: Ignore swap chain if null ------------------------------------------------------------------- Fri Nov 30 13:25:26 UTC 2018 - pousaduarte@gmail.com - Update to version 0.93~git20181130: * [d3d11] Implement ID3D11Multithread for D3D11 contexts * [d3d10] Implement D3D10Multithread * [util] Add likely/unlikely macros ------------------------------------------------------------------- Wed Nov 28 21:53:21 UTC 2018 - pousaduarte@gmail.com - Update to version 0.93~git20181128: * [dxgi] Remove format lookup methods from IDXGIVkAdapter interface * [d3d11] Duplicate format table into D3D11 device * [dxgi] Remove IDXGIVkBackBuffer * [dxvk] Remove DxvkSemaphore * [dxvk] Remove DxvkSurface * [dxvk] Remove DxvkSwapChain * [d3d11] Use new Vulkan presenter * [dxvk] Support new Vulkan presenter in DxvkDevice * [dxvk] Pass raw semaphore handles to submitCommandList * [d3d11] Use flushCommandList method to flush initializer context * [vulkan] Implement new Vulkan presenter / swap chain * [dxbc] Use ballot to determine early-discard condition in fragment shaders * [spirv] Add subgroup ballot instructions * [dxvk] Refactor descriptor set allocation * [dxvk] Rebalance descriptor set allocation * [d3d11] Fix potential UAV binding issue ------------------------------------------------------------------- Mon Nov 26 13:47:28 UTC 2018 - pousaduarte@gmail.com - Update to version 0.93~git20181126: * [util] Report Nvidia GPU for Battlefield 1 ------------------------------------------------------------------- Sun Nov 25 22:02:42 UTC 2018 - pousaduarte@gmail.com - Update to version 0.93~git20181124: * [dxvk] Disable state cache for Anno 2205 ------------------------------------------------------------------- Sat Nov 24 15:26:35 UTC 2018 - pousaduarte@gmail.com - Update to version 0.93~git20181124: * [meta] Release 0.93 * [dxbc] Disable early discard on AMD cards * [dxvk] Don't put rendering stage/access masks into image info ------------------------------------------------------------------- Fri Nov 23 21:39:47 UTC 2018 - pousaduarte@gmail.com - Update to version 0.92~git20181123: * [util] Enable TGSM initialization for Quantum Break * [d3d11] Add config option to enable TGSM initialization * [dxbc] Implement function to clear thread-group shared memory * [dxbc] Store workgroup size for compute shaders * [dxbc] Disable subgroup early discard on Nvidia GPUs * [dxbc] Clamp written depth value to (0.0, 1.0) * [dxbc] Use clustered subgroup operations on supported hardware * [dxbc] Fix compiler warning about uninitialized values * [tests] Enable subgroup ops for DXBC compiler app * [dxbc] Use subgroup operations for early discard * [dxbc] Remove DeferKill flag * [dxvk] Query device subgroup properties * [dxvk] Request Vulkan 1.1 instance * [spirv] Add non-uniform group instructions * [meta] Update SPIR-V headers ------------------------------------------------------------------- Tue Nov 20 20:42:51 UTC 2018 - pousaduarte@gmail.com - Update to version 0.92~git20181120: * [dxvk] Fix typo around dual-src blending * [dxvk] Make use of VK_AMD_memory_overallocation_behavior * [dxvk] Store DXVK options directly with the instance object * [meta] Update Vulkan headers ------------------------------------------------------------------- Tue Nov 20 13:54:56 UTC 2018 - pousaduarte@gmail.com - Update to version 0.92~git20181120: * [util] Remove default options that spoof AMD GPUs * [dxgi] Hack: Report Nvidia cards as AMD cards by default * [d3d11] Rename dcMapSpeedHack to dcSingleUseMode * [d3d11] Use single-use submission mode for CS chunks where possible * [dxvk] Introduce single-use mode for CS chunks * [dxvk] Patch fragment shader for dual-source blending * [dxbc] Emit Index decoration for pixel shader outputs * [spirv] Add support for Index decoration ------------------------------------------------------------------- Mon Nov 19 13:30:16 UTC 2018 - pousaduarte@gmail.com - Update to version 0.92~git20181119: * [dxvk] Unbind graphics pipeline when spilling render pass ------------------------------------------------------------------- Sat Nov 17 22:19:23 UTC 2018 - pousaduarte@gmail.com - Update to version 0.92~git20181117: * [dxvk] Move DxvkEventTracker to dxvk_event.{h,cpp} * [dxgi] MultiByteToWideChar counts length in characters * [dxgi] Query window size before creating presenter * Use std::string for util::getEnvVar input * [meta] Update README * [dxgi] Implement IDXGISwapChain3 * [dxgi] Implement IDXGIAdapter3 * [dxgi] Implement IDXGIFactory4 * [dxgi] Implement IDXGIDevice3 * [dxgi] Implement IDXGISwapChain2 stubs * [dxgi] Implement IDXGIOutput3 * [dxgi] Implement IDXGIFactory3 * [dxgi] Implement IDXGIOutput1 * [dxgi] Include DXGI 1.4 headers * [dxvk] Forward memory allocation statistics to the adapter * [dxvk] Set low thread priority for pipeline compiler threads * [util] Add method to set thread priority * [dxvk] Add option to set number of pipeline compiler threads ------------------------------------------------------------------- Tue Nov 13 21:32:40 UTC 2018 - pousaduarte@gmail.com - Update to version 0.92~git20181113: * [dxvk] Use ticket lock to synchronize access to query objects * [util] Add ticket lock implementation ------------------------------------------------------------------- Mon Nov 12 20:49:43 UTC 2018 - pousaduarte@gmail.com - Update to version 0.92~git20181112: * [dxgi] Refactor presenter creation ------------------------------------------------------------------- Mon Nov 12 13:57:53 UTC 2018 - pousaduarte@gmail.com - Update to version 0.92~git20181111: * [meta] Release v0.92 * [dxvk] Do not require GL_EXT_samplerless_texture_functions ------------------------------------------------------------------- Sun Nov 11 12:33:09 UTC 2018 - pousaduarte@gmail.com - Update to version 0.91~git20181110: * [dxbc] Implement Dmovc instruction * [d3d11] Support R11G11B10 format in ClearUnorderedAccessViewUint ------------------------------------------------------------------- Sat Nov 10 16:44:04 UTC 2018 - pousaduarte@gmail.com - Update to version 0.91~git20181110: * [d3d11] Don't enable StorageImageReadWithoutFormat feature for FL11_0 * [dxvk] Inline DxvkBufferView::updateView method * [dxbc] Refactor DxbcOptions * [d3d11] Do not re-upload mapped image if it was mapped for reading * [d3d11] Allow mapping depth-stencil images for reading * [d3d11] Add usage flag for meta-pack operations if necessary * [d3d11] Add helper to find exact mapping for depth-stencil formats * [dxvk] Implement DxvkContext::copyDepthStencilImageToPackedBuffer * [dxvk] Add convenience method to retrieve image descriptor * [dxvk] Create instance of depth-stencil packing objects * [dxvk] Add pipelines needed for depth-stencil packing * [dxvk] Add compute shaders for depth-stencil packing * [dxvk] Add packed size to depth-stencil formats * [tests] Add depth-stencil readback test * [dxvk] Report app name to the Vulkan implementation * [d3d11] Clear compressed images if they do not get initialized * [dxvk] Add clearCompressedColorImage method * [vulkan] Add makeSubresourceLayers helper ------------------------------------------------------------------- Tue Nov 06 19:35:40 UTC 2018 - pousaduarte@gmail.com - Update to version 0.91~git20181106: * [util] Spoof Nvidia card for Elite Dangerous * [dxbc] Don't enable sample shading for interpolation functions * [dxbc] Enable sample shading when using interpolation functions ------------------------------------------------------------------- Mon Nov 05 13:36:53 UTC 2018 - pousaduarte@gmail.com - Update to version 0.91~git20181105: * [build] Don't use empty dependencies ------------------------------------------------------------------- Sun Nov 04 20:17:48 UTC 2018 - pousaduarte@gmail.com - Update to version 0.91~git20181104: * [meta] Release 0.91 * Fixed for a05c93dd178de722c4e1d257a138fc94c4b877d6 (#748) * cross build cleanup (#746) * [dxvk] Pull 'if's into commit{Graphics,Compute}State methods ------------------------------------------------------------------- Sat Nov 03 01:40:30 UTC 2018 - pousaduarte@gmail.com - Update to version 0.90~git20181102: * [dxvk] Use new vulkan helpers to create VkImageSubresourceRange structs * [dxvk] Move vulkan helpers to vulkan module * [d3d11] Remove redundant D3D11Buffer::GetSize method * [general] Remove unnecessary include directories from build files * [general] Fix some old includes ------------------------------------------------------------------- Fri Nov 02 13:32:42 UTC 2018 - pousaduarte@gmail.com - Update to version 0.90~git20181102: * [dxvk] Move Vulkan loader to separate directory * [dxvk] Track device / instance ownership ------------------------------------------------------------------- Thu Nov 01 23:11:00 UTC 2018 - pousaduarte@gmail.com - Update to version 0.90~git20181101: * [dxvk] Insert barrier before CS image view clear only if needed * [dxvk] Open state cache file only when necessary * [dxvk] Add DXVK context method to transparently flush the command list * [dxvk] Move sampler border color handling to the backend ------------------------------------------------------------------- Tue Oct 30 14:02:37 UTC 2018 - pousaduarte@gmail.com - Update to version 0.90~git20181030: * [dxvk] Spill render pass for pipelines that use vertex stage UAVs * [dxvk] Use self-dependency to synchronize SSBO writes * [d3d11] Remove state tracking for UAV rendering * [dxvk] Spill render pass after draws with storage resources * [dxvk] Determine whether a graphics pipeline writes to resources * [dxvk] Remove unneeded atomic that holds base pipeline handles ------------------------------------------------------------------- Thu Oct 25 23:13:33 UTC 2018 - pousaduarte@gmail.com - Update to version 0.90~git20181025: * [dxbc] Fix incorrect data type for explicit interpolation instructions * Revert "[d3d11] Remove some flush points" * [util] Spoof Nvidia GPU for The Vanishing of Ethan Carter Redux * [dxvk] Remove obsolete DxvkShaderKey constructor * [d3d11] Respect xfb metadata when computing shader hash * [util] Provide method to compute SHA-1 hash from multiple data chunks * [dxgi] Query device interface from the presenter * [d3d11] D3D11Presenter -> D3D11PresentDevice * [dxgi] Don't build shaders for presentation * [dxgi] Remove unused presenter options * [dxgi] Remove old DXGI presenter * [dxgi] Use new presenter for D3D11 * [d3d11] Add COM interface for API-agnostic presenter * [d3d11] Move some DXGI presenter options to D3D11 * [d3d11] Add new D3D11 swap chain code ------------------------------------------------------------------- Mon Oct 22 18:10:45 UTC 2018 - pousaduarte@gmail.com - Update to version 0.90~git20181022: * [dxvk] Update blend constants only when they have actually changed * setup_dxvk: don't install by default * Spoof AMD GPU for Assetto Corsa Competizione * [util] Spoof AMD GPU for SAO FB ------------------------------------------------------------------- Wed Oct 17 19:53:56 UTC 2018 - pousaduarte@gmail.com - Update to version 0.90~git20181017: * [d3d11] Implicitly flush when queueing an event query * [d3d11] Do not use QueryInterface to get query pointers * [d3d11] Remove some flush points * [d3d11] Don't mark context methods as 'final' * package-release.sh: exit on errors * [d3d11] Save a few CPU cycles in Map/MapBuffer ------------------------------------------------------------------- Mon Oct 15 20:20:40 UTC 2018 - pousaduarte@gmail.com - Update to version 0.90~git20181015: * [d3d11] Show SetPredication message only when the predicate is not NULL * [dxgi] Fix scaling when swap image extent mismatches window size * [dxvk] Optimize image descriptor updates ------------------------------------------------------------------- Mon Oct 15 13:07:37 UTC 2018 - pousaduarte@gmail.com - Update to version 0.90~git20181015: * [meta] Fix nonsense in README ------------------------------------------------------------------- Sun Oct 14 10:54:02 UTC 2018 - pousaduarte@gmail.com - Update to version 0.90~git20181013: * [meta] Release v0.90 ------------------------------------------------------------------- Sat Oct 13 13:00:41 UTC 2018 - pousaduarte@gmail.com - Update to version 0.81~git20181013: * [d3d10] Support pOffsets parameter in SOGetTargets * [d3d11] Implement DrawAuto method * [d3d11] Implement Stream Output queries * [d3d11] Bind transform feedback buffers in SOSetTargets * [d3d11] Allocate counter for stream output buffers * [d3d11] Report format support for stream output buffers * [d3d11] Create passthrough geometry shader if necessary * [d3d11] Implement CreateGeometryShaderWithStreamOutput * [d3d11] Set transform feedback usage, stage and access flags * [dxvk] Implement transform feedback draw call * [dxvk] Add support for transform feedback queries * [dxvk] Add structure for transform feedback stream queries * [dxvk] Add basic support for indexed queries * [dxvk] Add xfb counter write -> xfb counter read barrier * [dxvk] Implement transform feedback * [dxvk] Detect Xfb and set rasterized stream index * [dxvk] Add Xfb API stubs * [dxvk] Add Xfb context state * [dxvk] Enable transform feedback device feature if available * [dxvk] Query transform feedback device properties if available * [dxvk] Enable VK_EXT_transform_feedback * [dxvk] Add definitions for transform feedback entry points * [dxvk] Add support for transform feedback access flags * [dxvk] Update Vulkan headers * [dxbc] Implement passthrough geometry shader * [dxbc] Implement Xfb output declarations and setup * [dxbc] Add Xfb decorations * [dxbc] Add support for multiple streams in geometry shaders * [dxbc] Add Xfb structures to DxbcModuleInfo * [dxvk] Implement getShader method for graphics pipelines ------------------------------------------------------------------- Fri Oct 12 17:46:10 UTC 2018 - pousaduarte@gmail.com - Update to version 0.81~git20181012: * Revert "[d3d10] Implement ID3D10Multithread" * [util] Re-enable D3D10 for Bioshock * [d3d10] Implement ID3D10Multithread * [d3d10] Respect D3D10_CREATE_DEVICE_SINGLETHREADED flag * [d3d10] Lock device on context operations * [util] Spoof AMD GPU for Dauntless and Redout. It silences some nvapi related warnings and improves performance on both titles by up to 10%. Also fixes a random crash on Redout. * [util] Spoof AMD card for Star Citizen * [meta] Don't hardcode the default libdir ------------------------------------------------------------------- Wed Oct 10 12:41:33 UTC 2018 - pousaduarte@gmail.com - Update to version 0.81~git20181009: * [dxgi] *Actually* silence WaitForVBlank warning * [d3d11] Add option to disable deferred context mapping speed hack * [dxgi] Silence WaitForVblank warning * [dxbc] rename DxbcProgramVersion to DxbcProgramInfo * [dxbc] Drop unused major/minor from DxbcProgramVersion * [dxvk] Refactor indirect draw/dispatch commands ------------------------------------------------------------------- Sun Oct 07 19:45:01 UTC 2018 - pousaduarte@gmail.com - Update to version 0.81~git20181007: * [dxvk] Fix missing buffer tracking for indirect draw calls * [dxvk] Fix missing indirect dispatch barriers and tracking * [dxvk] Reduce CPU overhead of indirect draw calls ------------------------------------------------------------------- Sat Oct 06 23:19:37 UTC 2018 - pousaduarte@gmail.com - Update to version 0.81~git20181006: * [dxgi] Fix undefined display mode format for display mode transitions * [meta] Release v0.81 ------------------------------------------------------------------- Fri Oct 05 11:38:38 UTC 2018 - pousaduarte@gmail.com - Update to version 0.80~git20181004: * [vr] Cosmetic code cleanup * [vr] Load native openvr library on winelib builds ------------------------------------------------------------------- Tue Oct 02 13:03:26 UTC 2018 - pousaduarte@gmail.com - Update to version 0.80~git20181001: * [d3d11] Implement DiscardView and DiscardResource for images * [dxvk] Add discardImage method * [build] Indicate the working tree status in the version string. (#679) * [dxvk] Minor internal buffer API cleanup * [dxvk] Don't reset unused bind points * [dxvk] Make DxvkBuffer destructor explicit ------------------------------------------------------------------- Sat Sep 29 18:11:53 UTC 2018 - pousaduarte@gmail.com - Update to version 0.80~git20180929: * [d3d11] Don't set meta-resolve usage flags for depth buffers * [dxgi] Add option to force-enable MAILBOX present mode * [build] Build 32-bit binaries with SSE2 instruction set * [d3d11] Skip CopyResource when src and dst resource are the same * [d3d11] Skip ResolveSubresource when dst and src resource are the same * [dxvk] Fix stencil state assignment * [d3d11] Optimize UAV binding * [dxvk] Refactor resolve ops * [d3d11] Enable usage flags for meta copy formats * [dxvk] Use new meta copy for depth <> color image copies * [dxvk] Add meta copy code * [dxvk] Add meta copy shaders * [dxgi] Implement slightly better QueryResourceResidency stub ------------------------------------------------------------------- Wed Sep 26 18:15:22 UTC 2018 - pousaduarte@gmail.com - Update to version 0.80~git20180925: * [dxvk] Flush queued barriers when binding any frame buffer * [dxvk] Simplify pipeline object locking ------------------------------------------------------------------- Tue Sep 25 12:54:45 UTC 2018 - pousaduarte@gmail.com - Update to version 0.80~git20180925: * [dxvk] Don't do image-to-buffer copies for multisampled images * [d3d11] Fix incomplete usage mask for buffer UAVs * [dxvk] Renove redundant vkDestroyPipeline ------------------------------------------------------------------- Mon Sep 24 18:11:06 UTC 2018 - pousaduarte@gmail.com - Update to version 0.80~git20180924: * [dxvk] Check whether the vertex binding / attribute count is valid * [d3d10] Disable D3D10 support for Bioshock * [d3d10] Add option to enable or disable D3D10 support ------------------------------------------------------------------- Sun Sep 23 20:50:09 UTC 2018 - pousaduarte@gmail.com - Update to version 0.80~git20180923: * [dxvk] Avoid buffer slice copy when binding index/vertex buffers * [meta] Release v0.80 * [meta] Update README * [dxvk] Enable state cache for compute pipelines * [dxvk] Add compute shader support to pipeline state cache * [d3d11] Use state cache * [dxvk] Enable state cache * [dxvk] Add pipeline state cache * [dxvk] Lock pipeline object while compiling one pipeline * [dxvk] Add method to retrieve shader key from shader module * [util] Add convenience method for SHA1 hash compulation * [dxvk] Refactor pipeline stat counters * [dxvk] Refactor pipeline object constructors * [dxvk] Remove redundant declaration ------------------------------------------------------------------- Thu Sep 20 18:26:19 UTC 2018 - pousaduarte@gmail.com - Update to version 0.72~git20180920: * Revert "[dxvk] Move command submission to separate thread" * [dxvk] Optimize retrieval of dynamic buffer offsets * [dxvk] Move command submission to separate thread ------------------------------------------------------------------- Thu Sep 20 12:28:53 UTC 2018 - pousaduarte@gmail.com - Update to version 0.72~git20180920: * [dxvk] Eliminate buffer slice copy when updating buffer descriptors * [meta] Remove redundant linker entries for the utils library ------------------------------------------------------------------- Wed Sep 19 18:08:26 UTC 2018 - pousaduarte@gmail.com - Update to version 0.72~git20180919: * [meta] Clarify device filter usage and fix typo * [d3d11] Make D3D11 context methods more robust to null pointers * [d3d11] Handle pResource == nullptr case during view creation ------------------------------------------------------------------- Tue Sep 18 23:24:46 UTC 2018 - pousaduarte@gmail.com - Update to version 0.72~git20180918: * [d3d11] Don't allow creation of 0x0-sized textures * [d3d11] Expose Feature Level 11_1 * [d3d11] Implement and advertize support for CopyWithOverlap feature * [dxvk] Add copyBufferRegion and copyImageRegion methods * [d3d11] Advertize support for the ForcedSampleCount rasterizer state * [dxvk] Implement backend support for D3D11 forced sample count * [d3d11] Replace shader debug name with shader key * [d3d11] Replace D3D11ShaderKey with DxvkShaderKey * [dxvk] Add new DxvkShaderKey to represent unique shader key * [dxvk] Avoid more unnecessary copies of ref-counted pointers * [dxvk] Avoid buffer slice copy when tracking buffer views * Revert "[d3d11] Avoid unnecessary buffer slice copy when mapping buffer" * [d3d11] Avoid unnecessary buffer slice copy when mapping buffer * [dxvk] Optimize ref counting around resource tracking * [dxvk] Rename DxvkBindingState -> DxvkBindingMask * [dxvk] Do not map allocations that don't need a HOST_VISIBLE memory type * [d3d11] Fix reported RowPitch/DepthPitch for mapped buffers * [dxvk] Do not store a strong reference from adapter to instance * [dxgi] IsCurrent is not actually a stub * [dxvk] Simplify graphics pipeline instance management * [dxvk] Fix some legacy cruft around Vulkan instance creation ------------------------------------------------------------------- Fri Sep 14 19:28:42 UTC 2018 - pousaduarte@gmail.com - Update to version 0.72~git20180914: * [meta] Release 0.72 * [dxvk] Remove all remaining pipecompiler code * [dxvk] Remove asynchronous pipeline compiler * [util] Improve logging of configuration options * [meta] Actually remove all wine output from setup script ------------------------------------------------------------------- Fri Sep 14 12:53:18 UTC 2018 - pousaduarte@gmail.com - Update to version 0.71~git20180914: * [meta] Remove colors from setup script * [d3d11] Test streamout queries + additional output components * [tests] Small tweaks ------------------------------------------------------------------- Thu Sep 13 23:38:20 UTC 2018 - pousaduarte@gmail.com - Update to version 0.71~git20180913: * [dxvk] Remove option for asynchronous shader compilation * [dxbc] Fix missing hull shader input declarations * [tests] Add tessellation shaders to triangle demo * [dxbc] Use temporary array for per-patch hull shader outputs * [dxvk] Only mark render targets as used on draw calls ------------------------------------------------------------------- Wed Sep 12 18:15:40 UTC 2018 - pousaduarte@gmail.com - Update to version 0.71~git20180912: * [dxvk] Remove redundant parameter from DxvkCommandList constructor ------------------------------------------------------------------- Wed Sep 12 13:08:53 UTC 2018 - pousaduarte@gmail.com - Update to version 0.71~git20180912: * [util] Spoof Nvidia card for Assassin's Creed Syndicate * [dxvk] Fix query type enablement in query manager * [d3d11] Fix Begin/End for all queries other than Event and Timestamp * [dxvk] Rename useAsyncPipeCompiler -> asyncPipeCompiler * [dxvk] Introduce new 'Created' state for queries * [dxvk] Enable device features for VK_EXT_vertex_attribute_divisor * [dxvk] Query new Vertex Attribute Divisor features * [dxvk] Collect info about the supported revisions of an extension * [meta] Update Vulkan headers to 1.1.84 * [dxvk] Implement render target state tracking for async compilation * [dxvk] Add methods to track render target view usage * [dxvk] Add method to retrieve current frame number * [dxvk] Use all but two available threads for async pipeline compilation * [util] Implement dxvk::thread::hardware_concurrency * [dxvk] Repurpose asynchronous pipeline compiler * [d3d11] Add option to enforce anisotropic filtering * [dxbc] Remove emitCsSystemValueLoad * [d3d11] Added option to limit tessellation factors * [dxgi] Add option to override the sync interval * [dxgi] Add option to change the back buffer count * [dxgi] Use DXGI back buffer count for the Vulkan swap chain * [dxvk] Fix initial query state ------------------------------------------------------------------- Sun Sep 09 10:11:57 UTC 2018 - pousaduarte@gmail.com - Update to version 0.71~git20180908: * [util] Spoof AMD card for Batman: Arkham Knight (#627) ------------------------------------------------------------------- Sat Sep 08 11:38:34 UTC 2018 - pousaduarte@gmail.com - Update to version 0.71~git20180908: * Spoof AMD card for GTA V * [util] Spoof AMD card for Dragon Quest XI * [dxbc] Make emitRawBufferLoad more readable ------------------------------------------------------------------- Tue Sep 04 13:18:29 UTC 2018 - pousaduarte@gmail.com - Update to version 0.71~git20180904: * [d3d11] Fix layer count for 3D RTVs with non-zero base mip level * [dxvk] Fix layer count for 2D views into 3D images ------------------------------------------------------------------- Mon Sep 03 18:53:47 UTC 2018 - pousaduarte@gmail.com - Update to version 0.71~git20180903: * [dxbc] Apply Modulo 31 to bit counts and offsets (shr/shl/bfe/bfi) ------------------------------------------------------------------- Sun Sep 02 18:39:12 UTC 2018 - pousaduarte@gmail.com - Update to version 0.71~git20180902: * [meta] Release v0.71 * [d3d11] Synchronize CS thread after flush when waiting for resource * [dxvk] Remap spec constant ranges * [dxvk] Don't change spec constant IDs that are no valid resource slots * [d3d11] Pass format swizzle to render target views * [dxbc] Implement pixel shader output component mapping * [spirv] Support OpVectorExtractDynamic instruction * [dxvk] Add spec constants for pixel shader output mapping * [dxvk] Add output component mask state to graphics pipelines * [dxvk] Fix up component swizzle for render target views ------------------------------------------------------------------- Sat Sep 01 10:49:09 UTC 2018 - pousaduarte@gmail.com - Update to version 0.70~git20180831: * Revert "[util] Limit device memory size to 4095 MB for Life is Feudal MMO" * [dxvk] Enable pipeline statistics queries around compute shaders * [dxvk] Refactor query management * [util] Handle WCHAR strings in str::format. * [build] Use d3dcompiler as lib name when linking to d3dcompiler_47 in winelib build. * [d3d11] Remove old UAV counter buffer implementation * [d3d11] Use D3D11CounterBuffer for UAV counters * [d3d11] Add more general counter buffer allocator ------------------------------------------------------------------- Tue Aug 28 13:21:09 UTC 2018 - pousaduarte@gmail.com - Update to version 0.70~git20180828: * [build] Don't run wine during winelib build process * [build] Don't run wine during winelib build process * [d3d10] Fix d3d11 dependecy for winelib build * [dxvk] Add CS chunk pool * [dxvk] Simplify discardBuffer access flags * [dxbc] End functions correctly even if last instruction is not 'ret' * [meta] Update README * [dxvk] Add device filter ------------------------------------------------------------------- Mon Aug 27 13:03:59 UTC 2018 - pousaduarte@gmail.com - Update to version 0.70~git20180826: * [dxgi] Don't use FIFO present mode if IMMEDIATE is not available * [dxvk] Fix clear compute shaders for 2D array views ------------------------------------------------------------------- Sun Aug 26 16:54:04 UTC 2018 - pousaduarte@gmail.com - Update to version 0.70~git20180826: * [dxgi] Fix format parameter in CheckImageFormatSupport * [dxgi] Log display mode changes * [d3d10] Fix resource type for buffers. ------------------------------------------------------------------- Sat Aug 25 16:52:34 UTC 2018 - pousaduarte@gmail.com - Update to version 0.70~git20180825: * [util] Limit device memory size to 4095 MB for Life is Feudal MMO * [dxgi] Add option to limit reported device memory size ------------------------------------------------------------------- Thu Aug 23 20:35:37 UTC 2018 - pousaduarte@gmail.com - Update to version 0.70~git20180822: * [d3d10] Implement Get/SetTextFilterSize using the behaviour D3D10 exhibits (#587) ------------------------------------------------------------------- Sat Aug 18 13:05:49 UTC 2018 - pousaduarte@gmail.com - Update to version 0.70~git20180818: * [meta] Copy verb even when using --no-package ------------------------------------------------------------------- Fri Aug 17 20:29:58 UTC 2018 - pousaduarte@gmail.com - Update to version 0.70~git20180817: * [build] Provide build-wine32.txt file. * [build] Use native Vulkan ABI for winelib builds (#520) * [util] Add log message when loading a configuration file * [meta] Allow setup script to run from other working directories * [meta] Release 0.70 * [dxgi] Remove dxgi.fakeDx10Support option * [meta] Update README * [meta] Add custom winetricks verb to set up DXVK * [meta] wine_utils -> utils * Revert "[dxbc] Work around OpControlBarrier issue on radv 18.2-git" ------------------------------------------------------------------- Thu Aug 16 13:20:12 UTC 2018 - pousaduarte@gmail.com - Update to version 0.65~git20180816: * [build] Mute dllexport GCC warnings for winelib * [d3d11] Fix silly GenerateMips bug * [d3d11] Fix interface query for ID3D11Predicate * [d3d11] fixed compilation with MinGW-headers 6.0.0 or greater * [tests] fix dxbc-disasm with MSVC * [build] partially revert previous d3dcompiler related change * [meta] Revert accidental d3dcompiler version change * [d3d11] Enable ExtendedDoublesShaderInstructions * [dxbc] Implement DtoI, DtoU, ItoD and UtoD * [dxbc] Implement DDiv, DFma and DRcp * [dxbc] Add definitions for extended double instructions * [d3d11] Implement ID3D11DeviceContext1::ClearView * [dxvk] Support render target views in ClearImageView * [dxvk] Accept VkClearValue in DxvkContext::clearImageView * [d3d11] Silence warning about GenerateMips being called on buffers * [build] reduce the number of d3dcompiler versions * [d3d10] Add some range checks to resource binding functions * [d3d10] added missing __stdcall * [d3d10] Fix crash in CreateDepthStencilView when pDesc is null ------------------------------------------------------------------- Mon Aug 13 19:01:54 UTC 2018 - pousaduarte@gmail.com - Update to version 0.65~git20180813: * [meta] Fix formatting errors * [meta] Update README * [meta] Add D3D10 support to setup script and package-release script * [d3d10] Implement D3D10ShaderReflection * [d3d10] Implement more d3d10.dll functions using D3DCompiler * [d3d10] Implement CheckFormatSupport * [d3d10] Implement (VS|GS|PS)(Set|Get)Shader * [d3d10] Implement D3D10Shader * [d3d10] Implement (Set|Get)Predication * [d3d10] Implement D3D10Query * [d3d10] Implement ClearRenderTargetView and ClearDepthStencilView * [d3d10] Implement OM(Set|Get)RenderTargets * [d3d10] Implement D3D10CreateDepthStencilView * [d3d10] Implement D3D10RenderTargetView * [d3d10] Implement GenerateMips * [d3d10] Implement (VS|GS|PS)(Set|Get)ShaderResources * [d3d10] Implement D3D10ShaderResourceView * [d3d10] Add GetD3D10ResourceFromView and GetD3D10Resource helpers * [d3d10] Implement RS(Set|Get)State * [d3d10] Implement D3D10RasterizerState * [d3d10] Implement OM(Set|Get)DepthStencilState * [d3d10] Implement D3D10DepthStencilState * [d3d10] Implement OM(Set|Get)BlendState * [d3d10] Implement D3D10BlendState * [d3d10] Implement IA(Set|Get)InputLayout * [d3d10] Implement D3D10InputLayout * [d3d10] Implement resource update, copy and resolve functions * [d3d10] Add GetD3D11Resource helper * [d3d10] Implement (VS|GS|PS)(Set|Get)Samplers * [d3d10] Implement D3D10SamplerState * [d3d10] Implement (VS|GS|PS)(Set|Get)ConstantBuffers * [d3d10] Implement SOSetTargets and SOGetTargets * [d3d10] Implement IA(Set|Get)(Vertex|Index)Buffers * [d3d10] Implement D3D10Buffer * [d3d10] Implement RS(Set|Get)(Viewports|ScissprRects) * [d3d10] Implement IASet|GetPrimitiveTopology * [d3d10] Implement D3D10 texture interfaces * [dxgi] Report ID3D10Device and ID3D10Device1 as supported * [d3d10] Add D3D10Device stub * [d3d10] Add build files and implement D3D10CreateDevice functions * [dxgi] SetFullscreenState succeeds if not changing state * [dxgi] Don't use std::mbstowcs. ------------------------------------------------------------------- Sun Aug 12 11:37:12 UTC 2018 - pousaduarte@gmail.com - Update to version 0.65~git20180812: * [meta] Release v0.65 ------------------------------------------------------------------- Sat Aug 11 13:27:09 UTC 2018 - pousaduarte@gmail.com - Update to version 0.64~git20180811: * [dxgi] Fix BGRA view format compatibility * [dxvk] Fix base pipeline assignment when compipling new pipelines * [dxgi] Re-enable SRGB-to-UNORM compatibility ------------------------------------------------------------------- Fri Aug 10 16:42:12 UTC 2018 - pousaduarte@gmail.com - Update to version 0.64~git20180810: * [meta] Update README * [util] Update default per-app quirks * [d3d11] Enable drawIndirectFirstInstance for FL11_0 and higher * [dxbc] Fix case labels when case blocks are terminated with ret * [d3d11] Fix structured buffer view validation * [d3d11] Report bind flags instead of usage when view creation fails * [d3d11] Add meaningful error messages when view creation fails * [d3d11] Add format and resource type to D3D11_COMMON_RESOURCE_DESC * [d3d11] Validate buffer view format compatibility * [d3d11] Validate image view format compatibility correctly * [d3d11] Added GetBufferFormatFeatures and GetImageFormatFeatures helpers * [d3d11] Validate buffer view bind flags * [d3d11] Validate image view bind flags * [d3d11] Add GetImageUsageFlags and GetBufferUsageFlags helpers * [d3d11] Use user config to determine the maximum feature level ------------------------------------------------------------------- Thu Aug 09 16:57:00 UTC 2018 - pousaduarte@gmail.com - Update to version 0.64~git20180809: * [d3d11] Allow creation of SRGB textures with D3D11_BIND_UNORDERED_ACCESS ------------------------------------------------------------------- Wed Aug 08 11:22:46 UTC 2018 - pousaduarte@gmail.com - Update to version 0.64~git20180807: * [dxgi] Fix resolve image usage flags * [dxgi] Add custom device/vendor IDs to DxgiOptions * [util] Move getAppConfig and getUserConfig to Config class * [meta] Update README * [dxvk] Use global user config for backend options * [meta] Update README * [d3d11] Use global user config for D3D11 options * [dxgi] Use global user config for DXGI options * [dxvk] Load user config as well as per-app options in DxvkInstance * [util] Add classes and functions to support configuration files ------------------------------------------------------------------- Sun Aug 05 21:59:45 UTC 2018 - pousaduarte@gmail.com - Update to version 0.64~git20180805: * [d3d11] Do not hold strong references to the ID3D11Resource in views * [d3d11] Add private ref count helpers for ID3D11Resource * [d3d11] Do not keep a strong reference to the swap chain back buffer * [util] Add private reference count to COM object * [d3d11] Refactor Unordered Access View Creation * [d3d11] Refactor Shader Resource View Creation * [d3d11] Refactor Render Target View Creation * [d3d11] Refactor Depth-Stencil View Creation * [d3d11] Use new resource helper functions during view creation * [d3d11] Add common resource helper functions * [d3d11] Introduce GetCommonBuffer helper * [d3d11] Move BufferInfo struct into D3D11Buffer * [tests] Restore old d3d11-triangle behaviour ------------------------------------------------------------------- Sat Aug 04 20:43:48 UTC 2018 - pousaduarte@gmail.com - Update to version 0.64~git20180804: * [dxgi] Relax IDXGISwapChain thread safety * [meta] Release v0.64 * [dxbc] Work around OpControlBarrier issue on radv 18.2-git * [dxvk] Implement native discardBuffer function in the backend * [d3d11] Implement copy flags for CopySubresourceRegion1 / UpdateSubresource1 * [d3d11] Implement DiscardResource for buffers * [d3d11] Refactor UAV counter buffer allocator * [d3d11] Fix border color mapping for opaque white ------------------------------------------------------------------- Wed Aug 01 12:15:28 UTC 2018 - pousaduarte@gmail.com - Update to version 0.63~git20180801: * [dxbc] Fix sample location order for 2xMSAA case * [dxvk] Remove unnecessary barrier recording before compute dispatch * [dxvk] Add extended device feature structure * [dxvk] Add extended device info structure ------------------------------------------------------------------- Tue Jul 31 11:35:29 UTC 2018 - pousaduarte@gmail.com - Update to version 0.63~git20180730: * [dxbc] Actually set "icb" as the debug name of the ICB ------------------------------------------------------------------- Mon Jul 30 19:19:49 UTC 2018 - pousaduarte@gmail.com - Update to version 0.63~git20180730: * [dxbc] Fix incorrect pointer type when loading from baked ICBs * [dxbc] Map large ICBs to a constant buffer * [d3d11] Remove DXVK_SHADER_READ_PATH * [d3d11] Create shader constant buffer if necessary * [dxvk] Introduce concept of shader constants * [dxvk] Reconfigure bindings * [d3d11] Fix compiler warning * [d3d11] Refactor shader binding ------------------------------------------------------------------- Sun Jul 29 11:42:32 UTC 2018 - pousaduarte@gmail.com - Update to version 0.63~git20180728: * [dxvk] Include vector inheaders that use it. * [build] Improve winelib builds * add winelib build support to the setup script ------------------------------------------------------------------- Tue Jul 24 12:28:29 UTC 2018 - pousaduarte@gmail.com - Update to version 0.63~git20180723: * [dxvk] Refactor Vulkan extension management * [dxvk] Load function pointers for VK_KHR_get_physical_device_properties2 * [d3d11] Optimize WaitForResource behaviour when resource is already idle * [d3d11] Refactor resource initialization ------------------------------------------------------------------- Mon Jul 23 12:22:02 UTC 2018 - pousaduarte@gmail.com - Update to version 0.63~git20180723: * [build] Don't use full paths in build files. ------------------------------------------------------------------- Sun Jul 22 19:54:12 UTC 2018 - pousaduarte@gmail.com - Update to version 0.63~git20180722: * [util] Fix reference counting for thread objects * [util] Fix Win32 thread helper * [meta] Release 0.63 * [util] Code cleanup for winegcc stuff * [build] Fix compilation on MSVC (#505) * [dxgi] Do not use MUTABLE_FORMAT_BIT for SRGB images * [dxvk] Use VkImageViewUsageCreateInfoKHR when creating image views * Revert "[dxvk] Bump maximum number of command buffers in flight to 16" * [dxvk] Make DxvkEvent lock-free ------------------------------------------------------------------- Fri Jul 20 12:13:58 UTC 2018 - pousaduarte@gmail.com - Update to version 0.62~git20180720: * [dxgi] Make faking Dx10 support a per-app option * [dxvk] Bump maximum number of command buffers in flight to 16 * [dxgi] Synchronize presentation to enforce maximum frame latency * [dxgi] Implement IDXGIDevice::SetMaximumFrameLatency * [dxvk] Add DxvkEvent::wait method * [dxvk] Relax VK_EXT_vertex_attribute_divisor requirement * [dxvk] Optimize buffer renaming * [d3d11] Import dxgi by -l instead of directly specifying library name. * [build] Use -mwindows to link executables. * [d3d11] Move D3D11ImmediateContext constexpr values to .cpp file * Don't use std::thread. * [util] Don't use std::wstring. * [util] Reimplement fromws using WideCharToMultiByte and system codepage. * [util] Remove getTempDirectory * [build] Use .spec files instead of .def files in winelib build * [build] Explicitly specify .dll and .exe extensions in winelib build * [buid] Support linking system DLLs in winelib builds * [build] Define NOMINMAX for all toolchains ------------------------------------------------------------------- Tue Jul 17 18:49:00 UTC 2018 - pousaduarte@gmail.com - Update to version 0.62~git20180716: * Revert "[dxgi] Support multiple outputs per adapter" * [dxgi] Support multiple outputs per adapter ------------------------------------------------------------------- Sat Jul 14 11:31:23 UTC 2018 - pousaduarte@gmail.com - Update to version 0.62~git20180714: * [general] Update Vulkan headers to 1.1.80 * [dxgi] Fixed nonsense compiler warning with some GCC versions * [meta] Release v0.62 ------------------------------------------------------------------- Fri Jul 13 19:06:56 UTC 2018 - pousaduarte@gmail.com - Update to version 0.61~git20180712: * [dxgi] Use back buffer size to determine fullscreen resolution ------------------------------------------------------------------- Thu Jul 12 13:12:10 UTC 2018 - pousaduarte@gmail.com - Update to version 0.61~git20180712: * [d3d11] Fake SO support for F1 2015, Mafia 3 * Revert "[dxvk] Disable image format list" * [build] Moved git command into the command list (#493) * [hud] Add option to show DXVK version * [build] Extract version number from git if available * [dxvk] Require VK_KHR_get_physical_device_properties2 * [vr] Load OpenVR API DLL if necessary ------------------------------------------------------------------- Tue Jul 10 08:03:04 UTC 2018 - pousaduarte@gmail.com - Update to version 0.61~git20180710: * [dxvk] Track lifetime of framebuffer attachments * [d3d11] Reset implicit flush timer only when actually flushing * [dxvk] Pick memory chunk size dynamically * [dxvk] Fix tzcnt return value when source value is 0 * [dxvk] Add access flags to external subpass dependencies again * [dxvk] Fixed external subpass dependencies * [d3d11] Fix log spam when an application uses DiscardView ------------------------------------------------------------------- Sun Jul 08 12:37:01 UTC 2018 - pousaduarte@gmail.com - Update to version 0.61~git20180706: * [dxvk] Fix deferred depth-stencil clears * [dxvk] Remove clear rect parameter from clearRenderTarget ------------------------------------------------------------------- Fri Jul 06 13:16:55 UTC 2018 - pousaduarte@gmail.com - Update to version 0.61~git20180705: * [dxvk] Disable image format list ------------------------------------------------------------------- Wed Jul 04 20:06:10 UTC 2018 - pousaduarte@gmail.com - Update to version 0.61~git20180704: * [meta] Add RELEASE file containing the latest binary version number ------------------------------------------------------------------- Wed Jul 04 12:46:38 UTC 2018 - pousaduarte@gmail.com - Update to version 0.61~git20180703: * [d3d11] Set proper view format list for typed UAVs * [d3d11] Pass image format family to the backend * [dxvk] Pass image format list to the driver * [dxvk] Require VK_KHR_image_format_list * [dxgi] Add method to query the family of a given format * [dxgi] Added format family list ------------------------------------------------------------------- Mon Jul 02 18:15:14 UTC 2018 - pousaduarte@gmail.com - Update to version 0.61~git20180702: * [dxgi] Fix 'auto' declaration in FindClosestMatchingMode * [vr] Initialize and shut down OpenVR if necessary * [vr] Refactor compositor initialization ------------------------------------------------------------------- Sun Jul 01 21:10:05 UTC 2018 - pousaduarte@gmail.com - Update to version 0.61~git20180701: * [dxbc] Respect number of input/output components * WIP: Typed shader interfaces * [dxvk] Remove unnecessary Parameter (#465) ------------------------------------------------------------------- Fri Jun 29 18:40:12 UTC 2018 - pousaduarte@gmail.com - Update to version 0.61~git20180629: * [d3d11] Issue warning when using a command list more than once * [d3d11] Fix usage and access flags for multisampled images ------------------------------------------------------------------- Thu Jun 28 12:16:13 UTC 2018 - pousaduarte@gmail.com - Update to version 0.60~git20180628: * [dxvk] Optimize image layout transitions * [dxvk] Fix potential layout transition issues with depth-stencil images * [dxbc] Decorate untyped write-only UAVs as NonReadable * [hud] Added some missing documentation * [hud] Render HUD directly to swap chain image * [d3d11] Tweak implicit flush limits * [d3d11] Add more implicit flush points ------------------------------------------------------------------- Wed Jun 27 18:12:46 UTC 2018 - pousaduarte@gmail.com - Update to version 0.60~git20180627: * [dxbc] Implement SV_ViewportID as pixel shader input * [vr] Maintain global extension sets * [dxvk] Lock queue around acquireNextImage * [dxvk] Move adapter list to the DXVK instance * [build] Disable unity builds ------------------------------------------------------------------- Mon Jun 25 17:15:26 UTC 2018 - pousaduarte@gmail.com - Update to version 0.60~git20180625: * [dxvk] Remove unused rasterizer discard state flag * [d3d11] Do not use MUTABLE_FORMAT_BIT for strictly typed formats ------------------------------------------------------------------- Sun Jun 24 11:27:51 UTC 2018 - pousaduarte@gmail.com - Update to version 0.60~git20180624: * [dxvk] Implement dedicated allocation (#448) ------------------------------------------------------------------- Sat Jun 23 19:59:41 UTC 2018 - pousaduarte@gmail.com - Update to version 0.60~git20180623: * [dxbc] Consider stream index in signature entry lookup * [tests] Fix compiler error with the DxbcModuleInfo struct * [dxbc] Implement EmitThenCut / EmitThenCutStream * [dxbc] Parse OSG5 chunk for Shader Model 5 geometry shaders * [dxbc] Add DxbcModuleInfo struct ------------------------------------------------------------------- Sat Jun 23 12:00:22 UTC 2018 - pousaduarte@gmail.com - Update to version 0.60~git20180623: * [dxvk] Implement shader-based meta-resolve operation * [dxvk] Added separate flags for signed and unsigned integer formats * [dxvk] Add shaders for new meta-resolve operation * [dxvk] Use dynamic offsets for both graphics and compute pipelines * [dxvk] Implement support for dynamic buffer binding offsets * [dxvk] Add context state flags for descriptor set and offset updates * [dxvk] Allocate descriptor sets with dynamic descriptor support * [dxvk] Add DxvkOptions struct for quick lookup of features/limits * [dxvk] Implement pipeline layout support for dynamic descriptors * [dxvk] Discard slices from old physical buffers ------------------------------------------------------------------- Thu Jun 21 22:40:05 UTC 2018 - pousaduarte@gmail.com - Update to version 0.54~git20180621: * [util] Set thread names for DXVK's own threads * [d3d11] Fix image aspect mask for typeless resolve * [d3d11] Fix issue with back buffer creation ------------------------------------------------------------------- Tue Jun 19 22:51:16 UTC 2018 - pousaduarte@gmail.com - Update to version 0.54~git20180619: * [tests] Added basic Stream Output test * [d3d11] Do not flush on every call to GetData * [d3d11] Fix render target layouts for linar tiling * [dxvk] Optimize barriers around vkCmdCopyImage * [dxbc] Fix compiler warning * [dxvk] Optimized barrier batching around compute shader execution ------------------------------------------------------------------- Sat Jun 16 19:42:20 UTC 2018 - pousaduarte@gmail.com - Update to version 0.54~git20180616: * [d3d11] Fake streamout support for Final Fantasy XV * [dxvk] Optimize buffer memory barrier batching * [dxvk] Rename DxvkResourceAccessType to DxvkAccess * [d3d11] Use clearBuffer to initialize UAV counters ------------------------------------------------------------------- Fri Jun 15 23:07:37 UTC 2018 - pousaduarte@gmail.com - Update to version 0.54~git20180615: * [d3d11] Implement render pass spilling for UAV rendering ------------------------------------------------------------------- Thu Jun 14 18:03:32 UTC 2018 - pousaduarte@gmail.com - Update to version 0.54~git20180614: * [dxgi] FindClosestMatchingMode: Handle Width/Height = 0 case * [d3d11] Report correct timer frequency for TIMESTAMP_DISJOINT queries ------------------------------------------------------------------- Wed Jun 13 10:56:59 UTC 2018 - pousaduarte@gmail.com - Update to version 0.54~git20180612: * Revert "[dxvk] Require VK_EXT_shader_viewport_index_layer" * [dxgi] Map typeless formats to their UNORM variants by default * [dxbc] Remove workarounds for the old Nvidia shader compiler * [dxvk] Require VK_EXT_shader_viewport_index_layer * [dxvk] Sort extension names in alphabetical order ------------------------------------------------------------------- Mon Jun 11 22:34:29 UTC 2018 - pousaduarte@gmail.com - Update to version 0.54~git20180611: * [dxvk] Require VK_KHR_maintenance2 and VK_EXT_vertex_attribute_divisor * [dxbc] Fix index returned by ImmAtomicConsume instruction * [d3d11] Add ID3DUserDefinedAnnotation stub * [d3d11] Implement CheckCounterInfo and related stubs ------------------------------------------------------------------- Sun Jun 10 10:58:35 UTC 2018 - pousaduarte@gmail.com - Update to version 0.54~git20180610: * [d3d11] Reduce log spam about UAV rendering ------------------------------------------------------------------- Sat Jun 09 12:56:47 UTC 2018 - pousaduarte@gmail.com - Update to version 0.54~git20180608: * [d3d11] Remove GetData do-not-flush workaround for Fallout 4 * [d3d11] Flush implicitly when GetData returns S_FALSE * [d3d11] Added warning that UAV rendering might not work as expected * [d3d11] Move GetData implementation to D3D11ImmediateContext ------------------------------------------------------------------- Thu Jun 07 18:51:10 UTC 2018 - pousaduarte@gmail.com - Update to version 0.54~git20180607: * [dxbc] Fixed issue with FtoD instruction picking an incorrect type * [d3d11] Enable 64-bit math feature * [dxbc] Implemented 64-bit compare instructions * [dxbc] Implemented 64-bit Vector ALU instructions * [dxbc] Implement DtoF and FtoD instructions * [spirv] Added OpFConvert instruction * Revert "[dxvk] Increase memory chunk size to 32 MiB" * [dxvk] Improve swap chain format fallback logic * [dxvk] Added format flag to mark SRGB color formats * [util] Add == and != operator to Flags * fix MSVC compile error with function pointer type declaration (#422) ------------------------------------------------------------------- Wed Jun 06 18:41:19 UTC 2018 - pousaduarte@gmail.com - Update to version 0.53~git20180606: * [dxvk] Removed support for depth bounds test * [dxvk] Make depth bias a dynamic state * [dxvk] Increase memory chunk size to 32 MiB * [d3d11] Implement new auto-flush heuristic * [dxvk] Make number of queued submissions available to DXVK ------------------------------------------------------------------- Tue Jun 05 13:07:00 UTC 2018 - pousaduarte@gmail.com - Update to version 0.53~git20180605: * [vr] Add missing license file * [vr] Silence non-virtual destructor warnings on GCC * [vr] Query Vulkan extensions for OpenVR at runtime * [vr] Add OpenVR loader * [vr] Added OpenVR header ------------------------------------------------------------------- Mon Jun 04 13:09:43 UTC 2018 - pousaduarte@gmail.com - Update to version 0.53~git20180603: * Allow FarCry 5 to use D3D11_MAP_FLAG_DO_NOT_WAIT (#416) ------------------------------------------------------------------- Sun Jun 03 15:58:32 UTC 2018 - pousaduarte@gmail.com - Update to version 0.53~git20180602: * Revert "[dxbc] Bound-check dynamically indexed constant buffer reads" ------------------------------------------------------------------- Sat Jun 02 11:31:45 UTC 2018 - pousaduarte@gmail.com - Update to version 0.53~git20180602: * [dxvk] Fixed uninitialized value in meta-resolve ------------------------------------------------------------------- Fri Jun 01 17:14:31 UTC 2018 - pousaduarte@gmail.com - Update to version 0.53~git20180601: * [dxbc] Support RenderTargetId and ViewportId in Vertex/Domain shaders * [dxvk] Enable VK_EXT_shader_viewport_index_layer if available * [spirv] Update SPIR-V headers * [dxbc] Fix incorrect OpSelectionMerge instruction ------------------------------------------------------------------- Thu May 31 10:06:06 UTC 2018 - pousaduarte@gmail.com - Update to version 0.53~git20180531: * [dxbc] Bound-check dynamically indexed constant buffer reads ------------------------------------------------------------------- Wed May 30 12:56:01 UTC 2018 - pousaduarte@gmail.com - Update to version 0.53~git20180530: * [d3d11] Fix vertex attribute offset with D3D11_APPEND_ALIGNED_ELEMENT * [dxvk] Allow overcommitting non-device local memory * [d3d11] Allocate DYNAMIC buffers on device-local host-visible memory * [dxvk] Refactor memory allocator ------------------------------------------------------------------- Tue May 29 10:32:40 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 0.53~git20180529: * [dxvk] Apply dynamic state at draw time * [dxgi] Support SyncInterval values > 1 * [dxvk] Added correct element size to depth-only and stencil-only formats ------------------------------------------------------------------- Sun May 27 16:16:11 UTC 2018 - pousaduarte@gmail.com - Update to version 0.52~git20180527: * [d3d11] Chjeck whether input layouts are identical * [d3d11] Enable shaderStorageImageMultisample if the device supports it * [dxvk] Emit dynamic state only if a pipeline is bound * [dxbc] Implement deferred kill operation * [dxbc] Make UAV stores and atomics conditional * [dxbc] Run analyzer before creating compiler object * [dxbc] Add per-device option for deferred kills * [dxbc] Scan for discard and derivative instructions ------------------------------------------------------------------- Sat May 26 17:09:42 UTC 2018 - pousaduarte@gmail.com - Update to version 0.52~git20180526: * [dxvk] Remove unnecessary include * [dxvk] Use new spec constant structure for pipeline compilation * [dxbc] Implement sampleinfo instruction for rasterizer * [dxvk] Add global specialization constant data structures * [spirv] Add support for 32-bit specialization constants * [d3d11] Overwatch: Fake success in CreateGeometryShaderWithStreamOutput * [dxvk] Align length when clearing entire buffer * [dxvk] Track image (rather than the view) when generating mip maps * [dxvk] Use new mip map generator * [dxvk] Add new mip map generator * [dxvk] Add shaders for mip map generation * [dxvk] Added convenience equal checker for unordered maps ------------------------------------------------------------------- Fri May 25 12:08:35 UTC 2018 - pousaduarte@gmail.com - Update to version 0.52~git20180525: * [d3d11] Validate and correct scissor rects * [general] Added DXUP reference to README ------------------------------------------------------------------- Thu May 24 12:42:10 UTC 2018 - pousaduarte@gmail.com - Update to version 0.52~git20180524: * [dxgi] Add option for deferred surface creation * [dxgi] Add app-specific DXGI options * [dxbc] Remove DxbcImageInfo::layered property * [dxbc] Remove TexCube -> TexCubeArray workaround * [dxbc] Remove Tex2D -> Tex2DArray workaround * [dxvk] Create image views for all supported view types * [dxgi] Reduce reported VRAM on 32-bit platforms * [dxgi] Refactor Vulkan swap chain and surface creation * [dxgi] Add IDXGIFactory2 to supported interfaces * [dxgi] Implemented IDXGISwapChain1 * [dxgi] Fixed error message formatting in DxgiDevice * [dxgi] Stubbed out IDXGIFactory2 * [dxgi] Stubbed out IDXGISwapChain1 * [dxgi] Implemented IDXGIAdapter2 ------------------------------------------------------------------- Wed May 23 12:22:30 UTC 2018 - pousaduarte@gmail.com - Update to version 0.51~git20180522: * [d3d11] Pre-clear buffers with D3D11_USAGE_DEFAULT * [d3d11] Refactor InitTexture method ------------------------------------------------------------------- Tue May 22 17:40:31 UTC 2018 - pousaduarte@gmail.com - Update to version 0.51~git20180522: * [dxbc] Implement geometry shader instancing ------------------------------------------------------------------- Tue May 22 12:18:26 UTC 2018 - pousaduarte@gmail.com - Update to version 0.51~git20180522: * [dxvk] Use only one extra thread for async pipeline compilation * [d3d11] Optimized buffer mapping on deferred contexts ------------------------------------------------------------------- Sat May 19 11:25:46 UTC 2018 - pousaduarte@gmail.com - Update to version 0.51~git20180519: * Fix tzcnt intrinsic on MSVC (#381) * [dxbc] SampleMask does not depend on SampleRateShading ------------------------------------------------------------------- Fri May 18 20:50:56 UTC 2018 - pousaduarte@gmail.com - Update to version 0.51~git20180518: * [dxbc] Do not emit empty 'else' blocks ------------------------------------------------------------------- Wed May 16 22:47:27 UTC 2018 - pousaduarte@gmail.com - Update to version 0.51~git20180517: * [general] Update README * [dxvk] Remove ability to enable instance layers * [dxvk] Implement name set merging * [dxvk] Refactor the way instance extensions are enabled * [dxvk] Make vk::NameSet more versatile * [dxvk] Enumerate discrete GPUs before integrated GPUs ------------------------------------------------------------------- Mon May 14 12:19:16 UTC 2018 - pousaduarte@gmail.com - Update to version 0.51~git20180514: * [d3d11] Fallout 4: Force Flush on GetData calls * [dxvk] Remove std::vector from DxvkDataBuffer ------------------------------------------------------------------- Sun May 13 16:22:54 UTC 2018 - pousaduarte@gmail.com - Update to version 0.51~git20180513: * [dxvk] Make use of the asynchronous pipeline compiler optional * [dxvk] Log start/stop of pipe compiler worker threads * [dxvk] Use derivative pipelines again * [dxvk] Do not log invalid pipeline state * [dxvk] Use VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT * [dxvk] Added DxvkPipelineCompiler * [dxvk] Add ability to hold two pipeline handles to pipeline instances * [dxvk] Implement DxvkGraphicsPipelineInstance ------------------------------------------------------------------- Sun May 13 13:10:20 UTC 2018 - pousaduarte@gmail.com - Update to version 0.50~git20180513: * [dxvk] Increase update buffer size * [dxvk] Fix update buffer allocation size ------------------------------------------------------------------- Sat May 12 18:08:03 UTC 2018 - pousaduarte@gmail.com - Update to version 0.50~git20180512: * [dxvk] Fix query scopes * [dxvk] Reset query pools on the init buffer * [dxvk] Create a separate command buffer for initialization tasks ------------------------------------------------------------------- Sat May 12 12:18:16 UTC 2018 - pousaduarte@gmail.com - Update to version 0.50~git20180512: * [dxbc] Fix bit scan instructions ------------------------------------------------------------------- Fri May 11 23:43:00 UTC 2018 - pousaduarte@gmail.com - Update to version 0.50~git20180511: * [general] Let meson handle cflags (#362) * [util] Fix includes ------------------------------------------------------------------- Wed May 09 23:49:30 UTC 2018 - pousaduarte@gmail.com - Update to version 0.50~git20180509: * [util] Remove duplicate tzcnt function * [dxvk] Move DxvkPipelineCache to DxvkPipeManager ------------------------------------------------------------------- Wed May 09 12:46:18 UTC 2018 - pousaduarte@gmail.com - Update to version 0.50~git20180509: * [dxvk] Reimplement vertex buffer bindings * [d3d11] D3D11SamplerState: Cosmetic changes * [util] Add tzcnt function ------------------------------------------------------------------- Tue May 08 12:46:12 UTC 2018 - pousaduarte@gmail.com - Update to version 0.50~git20180507: * [hud] Fixed uninitialized depth bounds values * [dxvk] Allow binding render targets of different sizes * [general] Package script: Enable unity builds by default * [dxgi] Fix reported VRAM size for 32-bit builds ------------------------------------------------------------------- Mon May 07 12:49:29 UTC 2018 - pousaduarte@gmail.com - Update to version 0.50~git20180507: * [d3d11] Implement D3D11CoreCreateDevice * [general] Test whether wine executable is actually wine * [general] More consistent use of $wine in setup script ------------------------------------------------------------------- Sun May 06 14:48:55 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180506: * [dxgi] Use per-adapter format lookup tables ------------------------------------------------------------------- Sat May 05 19:11:40 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180505: * [d3d11] Relaxed view format compatibility check * [d3d11] Normalize render target and depth-stencil view types * [d3d11] Fix stencil component mapping in shader resource views * [d3d11] Validate image view format compatibility * [dxgi] Added DXGI format family info ------------------------------------------------------------------- Sat May 05 09:54:02 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180505: * [d3d11] Validate render targets before setting them up * [d3d11] Disable VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT for typed formats * [dxgi] Report D3D10 support only when DXVK_FAKE_DX10_SUPPORT is set * [dxgi] Fix Fullscreen->Windowed transition (again) * [d3d11] Minor formatting fix * [dxgi] Use ShowWindow instead of redundant SetWindowPos call * [dxgi] Report refresh rate as a multiple of 1000 Hz ------------------------------------------------------------------- Fri May 04 12:37:48 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180504: * [d3d11] Fix stage and access mask for default constant buffers * [dxvk] Do not compute SHA-1 hash of generated shaders * [dxvk] Make shader accessible from shader module * [dxvk] Compute SHA-1 hash of generated shaders * [dxvk] Move render pass out of pipeline state vector * [util] Add method to retrieve SHA1 hashes in 32-bit chunks ------------------------------------------------------------------- Thu May 03 12:08:57 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180503: * [build] add_global_arguments -> add_project_arguments (#339) * [dxgi] Advertize support for ID3D10Device and ID3D10Device1 ------------------------------------------------------------------- Wed May 02 12:12:34 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180502: * [dxbc] Omit empty source string in OpSource instruction ------------------------------------------------------------------- Tue May 01 23:05:22 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180502: * [dxvk] Refactor DxvkFramebuffer and DxvkRenderpass * [dxvk] Move DxvkPipelineManager instance back to DxvkDevice * [dxvk] Made pipe manager and pipeline classes thread-safe * [dxvk] Fixed partial depth-stencil clear operations * [d3d11] Fix sampler state validation for anisotropy * [dxvk] Oprimize render target clear operations ------------------------------------------------------------------- Tue May 01 21:40:09 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180501: * [dxgi] Add GetDevice method to IDXGIVkInteropSurface * [dxvk] Fix DxvkContext::transformImage ------------------------------------------------------------------- Tue May 01 15:43:24 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180430: * [dxgi] Restore display mode even when the window got destroyed * [dxgi] CheckInterfaceSupport; Log interface queries * [d3d11] Fix sampler state validation for anisotropy * Revert "[dxvk] Refactor DxvkFramebuffer and DxvkRenderpass" * [dxvk] Refactor DxvkFramebuffer and DxvkRenderpass ------------------------------------------------------------------- Mon Apr 30 12:51:15 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180430: * [d3d11] Implement state block normalization (#333) ------------------------------------------------------------------- Sun Apr 29 22:36:37 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180429: * [dxgi] Implement display mode changes ------------------------------------------------------------------- Sun Apr 29 19:41:44 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180429: * [dxgi] LeaveFullscreenMode: Correctly restore the window size ------------------------------------------------------------------- Sun Apr 29 15:12:58 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180429: * [dxvk] Fix image layouts for images using VK_IMAGE_TILING_LINEAR * [d3d11] Use linar tiling for textures if optimal tiling is not supported ------------------------------------------------------------------- Sun Apr 29 12:07:40 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180429: * [dxvk] Set non-zero framebuffer size when there are no attachments * [d3d11] Use const ref pointer for device parameter ------------------------------------------------------------------- Sat Apr 28 12:15:19 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180428: * [clang-tidy] performance-move-const-arg fix (#324) ------------------------------------------------------------------- Sat Apr 28 08:55:11 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180428: * [dxvk] Fix native build on *nix x86_64 systems (#328) * [clang-tidy] performance-for-range-copy fix (#322) ------------------------------------------------------------------- Thu Apr 26 20:27:22 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180426: * [d3d11] Wire up D3D11VkInteropSurface to D3D11Texture*D classes * [d3d11] Implemented IDXGIVkInteropSurface for common textures * [d3d11] Implement IDXGIVkInteropDevice for D3D11Device * [dxgi] Added IDXGIVkInteropSurface interface * [dxgi] Added IDXGIVkInteropDevice interface * [dxvk] Export DxvkDeviceQueue from DxvkDevice ------------------------------------------------------------------- Thu Apr 26 16:47:37 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180426: * [dxvk] Fix potential state tracking issue when updating render targets * [dxvk] Ignore redundant render target bindings * [dxvk] Apply render target bindings at draw time * [hud] Do not explicitly use a framebuffer object ------------------------------------------------------------------- Wed Apr 25 10:54:42 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180423: * [dxbc] Add gs_vertex_in to the entry point interface ------------------------------------------------------------------- Mon Apr 23 12:16:30 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180423: * [dxvk] Rename renderPassBegin/End methods to start/spillRenderPass * [dxbc] Enable array texture hack for Dishonored 2 * [dxbc] Implemented Texture2D -> Texture2DArray mapping as a knob * [dxbc] Make DxbcOptions a set of flags * [d3d11] CopySubresourceRegion: Fix block size alignment check * [d3d11] Improved debug output for CopySubresourceRegion * [dxbc] Map 2D MS shader resource views to 2D MS Array views ------------------------------------------------------------------- Sun Apr 22 16:19:14 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180422: * [dxbc] Fix operand type of resinfo_rcp_float division * [dxbc] Fix texture component count for OpImageQueryLod * [dxbc] Fix layer count in resinfo instruction * [d3d11] Prevent mapping of depth-stencil textures * [dxbc] Map 1D and 2D textures to their respective array type v2 ------------------------------------------------------------------- Sat Apr 21 13:54:27 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180421: * Revert "[dxbc] Map 1D and 2D textures to their respective array type" * [dxbc] Map 1D and 2D textures to their respective array type * [d3d11] Fix incorrect cube face count calculation * [dxbc] Fixed incorrect shader resource slot computation ------------------------------------------------------------------- Sat Apr 21 11:12:00 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180420: * [d3d11] add some resource validation for copying resources (#305) * [dxbc] Implement precise flag * [general] Use non-default wine prefix in build script ------------------------------------------------------------------- Fri Apr 20 12:11:05 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180420: * Make hashes use correct types and fix narrowing warnings in spirv module. (#307) ------------------------------------------------------------------- Thu Apr 19 12:19:47 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180419: * Workaround for C++ STD not being set on MSVC/Visual Studio 2017 (#304) * [dxbc] Scan pixel shader output register type at declaration time * [dxvk] Remove std::clamp usage * [dxgi] DxgiSwapchain: Check whether window is valid * [dxgi] GetDisplayModeList: Report DXGI_MODE_SCALING_UNSPECIFIED * [dxgi] GetDisplayModeList: Sort display mode list * [dxgi] GetDisplayModeList: Do not report modes as stretched ------------------------------------------------------------------- Wed Apr 18 13:05:51 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180417: * [dxvk] Fix Nvidia driver version reporting * [d3d11] Implement 2D<->3D image copies in CopySubresourceRegion ------------------------------------------------------------------- Tue Apr 17 18:40:14 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180417: * [dxbc] Moved all operators in dxbc_names to dxvk namespace (#296) * [dxvk] Implement vertex binding divisors ------------------------------------------------------------------- Tue Apr 17 12:16:55 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180417: * [d3d11] nullptr check on Begin and End (#295) * [general] Fix issue with spaces in setup script * [hud] Added frametime graph * [hud] Added line renderer * [hud] Rename renderText -> render * [hud] HudTextRenderer -> HudRenderer ------------------------------------------------------------------- Mon Apr 16 22:43:08 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180416: * [dxbc] Remove is-bound check for constant buffer reads * [dxvk] Increase dummy buffer size to max uniform buffer size * [dxvk] Enable VK_EXT_vertex_attribute_divisor if available * [general] Update Vulkan headers ------------------------------------------------------------------- Mon Apr 16 12:43:17 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180415: * [dxbc] Write shader name to the generated SPIR-V * [dxvk] Change stat couter type to uint64_t * [dxgi] Remove support gamma-related ScaleAndOffsetSupported * [dxvk] Destroy old swap chain before creating a new one ------------------------------------------------------------------- Sun Apr 15 09:59:04 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180415: * [dxvk] Print memory heap size in megabytes * [dxvk] Added memory information to adapter info (#279) * [dxvk] Move render target set comparison to DxvkRenderTargets * [dxvk] Implement bindRenderTargets method ------------------------------------------------------------------- Sat Apr 14 22:40:19 UTC 2018 - pousaduarte@gmail.com - Update to version 0.42~git20180414: * [d3d11] Report TYPED_UAV only if both TBs and SIs are supported * [dxvk] Recreate swap chain on presentation failure * [tests] Add D3D11 format tests * [d3d11] Improve format support queries ------------------------------------------------------------------- Sat Apr 14 11:08:59 UTC 2018 - pousaduarte@gmail.com - Update to version 0.41~git20180414: * [dxvk] Improved memory allocation debug output * [dxgi] Cosmetic changes * [d3d11] Improved debug output of D3D11DeviceContext methods * [dxvk] Fixed silly typo * [dxvk] Improved debug output when resource creation fails ------------------------------------------------------------------- Fri Apr 13 12:12:16 UTC 2018 - pousaduarte@gmail.com - Update to version 0.41~git20180413: * [dxgi] DxgiVkPresenter: use Microsoft-style API * [dxgi] Use 1D texture to implement the gamma lookup table * [d3d11] Validate texture sample count * [dxvk] Enable VK_KHR_sampler_mirror_clamp_to_edge * [d3d11] Cap mip level count for textures and views ------------------------------------------------------------------- Thu Apr 12 21:39:02 UTC 2018 - pousaduarte@gmail.com - Update to version 0.41~git20180412: * [d3d11] ClearUnorderedAccessViewUInt: Create temp view if necessary * [dxgi] Use GetMonitorInfoW function explicitly (#271) * [dxgi] Added static format mapping table * [dxgi] Rename and move DXGI format lookup related structures ------------------------------------------------------------------- Thu Apr 12 12:54:54 UTC 2018 - pousaduarte@gmail.com - Update to version 0.41~git20180412: * [dxbc] Fixed incorrect result vector dimension for OpImageQuerySize * [dxgi] Re-implement gamma control functions * [dxgi] Re-enable strong reference to DxgiAdapter in DxgiOutput * Revert "[dxgi] Create persistent DxgiOutput object" * [dxgi] Remove Output reference from DxgiSwapChain * [dxgi] Remove gamma control methods from DxgiOutput * [dxgi] Replaced ugly pointer cast by more reasonable code * [d3d11] Use meta clear for ClearUnorderedAccessView* methods * [dxvk] Implement clearBufferView and clearImageView * [dxvk] Increase workgroup size for buffer clear shaders * [dxgi] Disable gamma curve in presenter * [dxbc] Remove Nvidia driver version check * [dxvk] Create compute pipelines for meta clear ops * [dxvk] Added missing shader files * [dxvk] Add separate clear shaders for array views * [dxvk] Added DxvkMetaClearObjects stub * [dxvk] Add format info flag for integer formats * [dxvk] Added meta shaders for image/buffer clear operations * [dxvk] Removed unused DxvkOptions * [dxbc] Implemented Nop instruction * [dxbc] Fix __GL_NextGenCompiler check... ------------------------------------------------------------------- Tue Apr 10 22:42:29 UTC 2018 - pousaduarte@gmail.com - Update to version 0.41~git20180411: * [dxbc] Re-enable Nvidia workarounds if __GL_NextGenCompiler is '0' * [dxbc] Disable Nvidia-specific workarounds for 396.18 and above * [dxgi] Remove unnecessary debug output * [dxgi] Implement gamma control methods for DxgiOutput * [dxgi] Create persistent DxgiOutput object * [dxgi] Implement gamma ramp in presenter * [dxgi] Re-implement presentation shaders in GLSL * [general] Updated README * Added instructions for installing from the easy build script. (#264) ------------------------------------------------------------------- Tue Apr 10 13:06:08 UTC 2018 - pousaduarte@gmail.com - Update to version 0.41~git20180410: * [dxvk] Optimize binding ID remapping * [spirv] Track instruction offset in instruction iterator * [dxbc] Refactored opcode controls * [dxbc] Fix sampleinfo_uint instruction * [dxvk] Removed on-disk pipeline cache * [dxbc] Add missing component count to gs_layer variable type * [d3d11] Fixed compiler errors * [dxvk] Enable sample rate shading if needed * [dxbc] Enable CapabilitySampleRateShading capability when needed * [dxvk] Add missing format info for the *_422_UNORM formats * [dxbc] Implement support for SV_PrimitiveID * [dxgi] Fixed packed 16-bit format mappings ------------------------------------------------------------------- Sat Apr 07 15:53:48 UTC 2018 - pousaduarte@gmail.com - Update to version 0.41~git20180407: * [d3d11] Fix compilation with WINE headers (#247) * [util] Fix compilation with WINE headers (#246) * [general] Updated README * [general] Update README ------------------------------------------------------------------- Sat Apr 07 10:30:04 UTC 2018 - pousaduarte@gmail.com - Update to version 0.41~git20180406: * [d3d11] Implement DXBC shader module cache ------------------------------------------------------------------- Fri Apr 06 11:13:09 UTC 2018 - pousaduarte@gmail.com - Update to version 0.41~git20180406: * [general] Fix another README typo * Fix typos in README.md (#244) ------------------------------------------------------------------- Thu Apr 05 21:45:11 UTC 2018 - pousaduarte@gmail.com - Update to version 0.41~git20180405: * [dxbc] Reciprocate W component of SV_POSITION in pixel shaders ------------------------------------------------------------------- Thu Apr 05 12:40:42 UTC 2018 - pousaduarte@gmail.com - Update to version 0.40~git20180404: * [dxvk] Remove support for VK_AMD_rasterization_order * [dxbc] Implemented ImmAtomicCmpExch and AtomicCmpStore ------------------------------------------------------------------- Wed Apr 04 11:39:21 UTC 2018 - pousaduarte@gmail.com - Update to version 0.40~git20180404: * [d3d11] Fix multisample format support query for depth images ------------------------------------------------------------------- Tue Apr 03 20:26:21 UTC 2018 - pousaduarte@gmail.com - Update to version 0.40~git20180403: * [dxgi] Fix compilation with WINE headers (#236) * [dxvk] Removed upper limit for CS chunks * [d3d11] Flush immediate context on command list execution ------------------------------------------------------------------- Tue Apr 03 15:56:33 UTC 2018 - pousaduarte@gmail.com - Update to version 0.40~git20180403: * [hud] Added include to satisfy some compilers * [general] Updated README * [dxvk] Added support for pipeline-related stat counters * [dxvk] Retrieve actual memory stats for the HUD * [hud] Added stat counters to the HUD * [hud] Added configurable HUD * [dxvk] Implement basic stat counters for draw calls, queue ops * [util] Implement spin lock ------------------------------------------------------------------- Tue Apr 03 09:48:32 UTC 2018 - pousaduarte@gmail.com - Update to version 0.40~git20180403: * [dxvk] Reintroduce stat counters ------------------------------------------------------------------- Mon Apr 02 18:55:25 UTC 2018 - pousaduarte@gmail.com - Update to version 0.40~git20180402: * [dxbc] Unify constants * [dxvk] Log pipeline state when pipeline compilation fails * [util] Add generic Logger::log method * [dxgi] Replace UINT_MAX with std::numeric_limits (#234) * [dxgi] Replace MSVC _countof macro with std::size (#231) * [general] Updated README * [dxbc] Serialize hull shader fork/join phase invocations * [dxgi/d3d11] Remove COM_QUERY_INTERFACE macro, reset pointers ------------------------------------------------------------------- Mon Apr 02 10:50:19 UTC 2018 - pousaduarte@gmail.com - Update to version 0.40~git20180402: * [dxgi/d3d11] Set returned pointers to nullptr before returning * [dxbc] Implement ImmAtomic*Min/Max instructions ------------------------------------------------------------------- Sun Apr 01 10:37:06 UTC 2018 - pousaduarte@gmail.com - Update to version 0.40~git20180331: * [d3d11] Force CreateRenderTargetView to return S_OK with D3D11_RESOURCE_DIMENSION_BUFFER (#230) * [general] Updated README with wine 3.5 hints * [dxbc] Respect GloballyCoherent flag for UAVs ------------------------------------------------------------------- Sat Mar 31 11:02:03 UTC 2018 - pousaduarte@gmail.com - Update to version 0.40~git20180330: * [dxbc] Fix explicit memory barrier semantics * [dxbc] Fixed type of atomic pointers into typed UAVs ------------------------------------------------------------------- Thu Mar 29 23:20:18 UTC 2018 - pousaduarte@gmail.com - Update to version 0.40~git20180329: * [dxvk] Remove mutex from Dxvk(Graphics|Compute)Pipeline ------------------------------------------------------------------- Thu Mar 29 14:07:44 UTC 2018 - pousaduarte@gmail.com - Update to version 0.40~git20180329: * [dxbc] Fix ForkInstanceId type in EmitHsForkJoinPhase * [dxbc] Run HS fork/join phases in parallel * [dxvk] Move DxvkPipelineManager object to DxvkContext * [dxvk] Time pipeline creation in debug mode ------------------------------------------------------------------- Thu Mar 29 10:04:47 UTC 2018 - pousaduarte@gmail.com - Update to version 0.40~git20180329: * [general] More wine test suite fixes (#220) * [d3d11] Introduce D3D11DeviceContainer * [dxgi] Renamed private DXGI interfaces * [dxgi] Move device creation to DxgiAdapter ------------------------------------------------------------------- Wed Mar 28 10:58:34 UTC 2018 - pousaduarte@gmail.com - Update to version 0.40~git20180328: * [dxgi] Reset pointers before returning an error * [dxbc] Do not use locations >32 for tess control outputs * [d3d11] Fixed silly bug in blend state comparison * [general] Added --no-package option to package script ------------------------------------------------------------------- Tue Mar 27 11:00:01 UTC 2018 - pousaduarte@gmail.com - Update to version 0.40~git20180327: * [dxgi] More argument handling improvements (#211) * [dxbc] Enable MultiViewport capability if needed * [dxbc] Implemnted SV_ViewportArrayIndex for geometry shaders * [dxvk] Do not create descriptor set layout/template if binding count is 0 ------------------------------------------------------------------- Mon Mar 26 12:54:46 UTC 2018 - pousaduarte@gmail.com - Update to version 0.40~git20180326: * [dxgi] Fix some argument checks (#205) ------------------------------------------------------------------- Sun Mar 25 12:54:57 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180325: * [d3d11] Implemented image mapping on deferred contexts * [d3d11] Get rid of redundant format query * [d3d11] Disable DO_NOT_WAIT flag by default * [d3d11] Add include ------------------------------------------------------------------- Sat Mar 24 17:46:22 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180324: * [d3d11] Added missing files * [d3d11] Added D3D11Options ------------------------------------------------------------------- Sat Mar 24 15:57:49 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180324: * Revert "[dxbc] Do not emit per-vertex input block" * [dxbc] Add experimental support for mixed resource types * [dxgi] Enumerate scaled and centered display modes correctly ------------------------------------------------------------------- Sat Mar 24 10:37:45 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180324: * [dxgi] FindClosestMatchingMode: Fall back to 8-bit SRGB format * [dxbc] Implement SV_ClipDistance and SV_CullDistance * [dxbc] Do not emit per-vertex input block * [dxbc] Check if the signature is nullptr before using it * [dxbc] Count clipping and culling planes * [tests] Fix dxbc compiler test compilation issue * [dxbc] Don't use rvalue references for file streams ------------------------------------------------------------------- Fri Mar 23 11:33:01 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180323: * [d3d11] Reset busy flag after emitting the Flush command * [spirv] Emit image types only once * [dxvk] Use analyzer to determine UAV image type * [dxvk] Fixed command buffer synchronization * [dxbc] Add analyzer stub * [d3d11] Remove unnecessary Map() check * [dxvk] Remove DxvkFence * [dxvk] Move fence object into DxvkCommandList ------------------------------------------------------------------- Thu Mar 22 17:00:54 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 0.31~git20180322: * [d3d11] Do not forward D3D11_MAP_FLAG_DO_NOT_WAIT for mapped images * [d3d11] Fix immediate context initialization * [d3d11] Fix flush condition and CS thread synchronization * [dxgi] Always use 32-bit depth buffers instead of 24-bit * [d3d11] Implement D3D11_MAP_FLAG_DO_NOT_WAIT * [dxvk] Minor ------------------------------------------------------------------- Wed Mar 21 20:23:53 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 0.31~git20180321: * [dxvk] Move tess state validation to validatePipelineState * [dxvk] Check whether renderpass is null before creating pipeline * [util] Fix possible crash with null interfaces in private storage * [dxbc] Support UNorm/SNorm typed resources * [d3d11] Fix CheckFeatureSupport return value ------------------------------------------------------------------- Wed Mar 21 12:37:50 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180321: * [d3d11] Implement support for D3D11_FEATURE_FORMAT_SUPPORT2 * [d3d11] Lift shaderStorageImageReadWithoutFormat requirement * [dxbc] Lift ShaderStorageImageReadWithoutFormat requirement * [dxbc] Set image format for UAVs when atomic operations are used * [d3d11] Implement remaining D3D11.1 feature queries * [dxvk] Increase UAV slot count to 64 for the graphics pipeline * [d3d11] Fixed constant buffer binding update * Shader cache (#188) * [d3d11] Expose implemented Feature Level 11.1 features * [dxvk] Remove old debug code * [dxvk] Respect bufferImageGranularity for non-linear images ------------------------------------------------------------------- Tue Mar 20 14:34:59 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 0.31~git20180319: * [d3d11] Export support for driver command lists * [d3d11] Remove obsolete acquire/release pair ------------------------------------------------------------------- Mon Mar 19 15:10:36 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 0.31~git20180319: * [dxvk] Use multiple free lists for physical buffer slices * [d3d11] Remove warnings from CopySubresourceRegion1 / UpdateSubresource1 ------------------------------------------------------------------- Mon Mar 19 11:46:54 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180319: * [build] Add header required for std::find_if() * [d3d11] Implemented buffer mapping on deferred contexts * [dxvk] Implement thread-safe buffer renaming * [d3d11] Expose Feature Level 11_1 if explicitly requested * [d3d11] Refactored D3D11SamplerState creation * [d3d11] Refactored D3D11DepthStencilState creation * [d3d11] Implemented D3D11BlendState1 * [d3d11] Implemented ID3D11RasterizerState1 stub * [d3d11] Return error if an application creates an RTV for a buffer ------------------------------------------------------------------- Sun Mar 18 20:28:12 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180318: * [dxgi] Fix back buffer destruction ------------------------------------------------------------------- Sun Mar 18 16:20:50 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180318: * [d3d11] Fix sampler state refcount issue * [d3d11] Remove inconsistent uses of "this" * [d3d11] Implement GetConstantBuffers1 methods * [d3d11] Implement SetConstantBuffers1 methods * [d3d11] Add constant buffer offsets and counts to context state * [d3d11] Enable direct image mapping by default * [dxvk] Enable the use of VK_KHR_descriptor_update_template * [dxvk] Added Vulkan function pointers for VK_KHR_descriptor_update_template ------------------------------------------------------------------- Sat Mar 17 20:51:01 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180317: * [d3d11] Re-define D3D11_FEATURE_DATA_ARCHITECTURE_INFO * [d3d11] stub implementation of ID3D11Device1 (#175) * [d3d11] stub implementation of ID3DDeviceContext1 (#174) * [dxvk] Reimplemented clearRenderTarget ------------------------------------------------------------------- Sat Mar 17 13:37:51 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180317: * [d3d11] Move OMSetRenderTargets optimization to D3D11ImmediateContext * [d3d11] Moved GetViewFromDesc and NormalizeDesc out of D3D11Devuce * [d3d11] Enable IDXGIDevice2 interface query * [dxgi] Support more formats in the presenter * [dxgi] added stub implementation of IDXGIDevice2 (#172) * [general] Updated README * Move Custom PCI ID to DXGI * [dxbc] fix MSVC 64-bit build ------------------------------------------------------------------- Fri Mar 16 12:27:30 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180316: * [dxvk] Implement proper compute pipeline lookup * [dxvk] Fixed depth image layout regression * [d3d11] Allow 2D array view creation for 3D textures ------------------------------------------------------------------- Thu Mar 15 15:39:50 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180314: * Some changes to the packaging script (#162) ------------------------------------------------------------------- Wed Mar 14 18:42:08 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180314: * [d3d11] Always use VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT * [d3d11] Re-implement direct image mapping (disabled by default) * [d3d11] Check if a textue can be created before making the attempt * [d3d11] Create mapped image buffer only when needed * [d3d11] Refactored Map/Unmap methods * [d3d11] Refactoring texture classes: Move static methods into D3D11CommonTexture * [d3d11] Refactoring texture classes: Remove D3D11TextureInfo * [d3d11] Refactoring texture classes: Introduce D3D11CommonTexture ------------------------------------------------------------------- Tue Mar 13 19:08:02 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180313: * Revert "[d3d11] Re-enable image mapping" * [spirv] Removed SPIR-V Tools headers * [spirv] Remove SPIR-V tools integration * [dxvk] Remove RenderDoc workaround * [d3d11] Use only one mip level for multisampled textures * [d3d11] Flush CS chunks when executing/finalizing command lists * [dxgi] fix DxgiOutput::FindClosestMatchingMode() implementation (#157) * [d3d11] D3D11Device::QueryInterface() suppress warning for d56e2a4c-5127-8437-658a-98c5bb789498 ------------------------------------------------------------------- Mon Mar 12 13:43:42 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180312: * [dxvk] Use dummy viewport if requested viewport size is 0 * [d3d11] Do not enable D3D11_BIND_UNORDERED_ACCESS for back buffers * [d3d11] Re-enable image mapping * [dxbc] Implemented samplepos instruction * [dxgi,d3d11] log unknown interfaces GUID (#154) ------------------------------------------------------------------- Mon Mar 12 10:38:56 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180312: * [dxgi] implement DxgiOutput::FindClosestMatchingMode() (#153) * [d3d11] add check for pResource against nullptr in D3D11ImmediateContext::Map() * [dxvk] Flush initialization context unconditionally ------------------------------------------------------------------- Sun Mar 11 18:15:33 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180311: * [d3d11] Disabled image mapping ------------------------------------------------------------------- Sun Mar 11 13:56:07 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180311: * [d3d11] Fix image tiling * [d3d11] Allocate host-readable images on host-visible memory ------------------------------------------------------------------- Sat Mar 10 19:21:43 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180310: * [dxvk] Add memory flag query to DxvkImage * [dxvk] Removed stat counters * Update README.md * Add Custom PCI Vendor and Device ID Support (#137) * [dxbc] implemented retc instructions (#140) * [dxbc] Implemented DclHsMaxTessFactor * [d3d11] Fix minor code inconsistencies * [d3d11] Reimplemented ClearState * [d3d11] Fix RestoreUnorderedAccessViews for pixel shaders * [d3d11] Minor fixes * [d3d11] RestoreState: Restore DS/OM/RS state objects * [d3d11] RestoreState: Restore IA state * [d3d11] RestoreState: Restore viewport state * [d3d11] RestoreState: Restore shader resource bindings * [dxvk/d3d11] Refactored resource binding * [d3d11] RestoreState: Restore vertex and index buffer bindings * [d3d11] RestoreState: Restore framebuffer and shader bindings * [dxbc] Fixed TGSM size with dcl_tgsm_raw * [d3d11] Fix texture cube array view normalization * [d3d11] Implemented OMGetRenderTargetsAndUnorderedAccessViews and predication stub * [d3d11] Fix potentially invalid value for anisotropic filtering ------------------------------------------------------------------- Fri Mar 09 14:08:47 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180309: * [dxvk] Tweaked command stream chunk sizes and submission * [dxvk] Reduced overhead of depth image descriptor layout check ------------------------------------------------------------------- Thu Mar 08 18:29:35 UTC 2018 - pousaduarte@gmail.com - Update to version 0.31~git20180308: * [general] Added release packer script * [dxgi] Fixed R10G10B10A2 format mapping * [dxbc] Use signed int for component index in OpImageGather * [d3d11] Implemented ClearUnorderedAccessViewUint for raw and structured buffers * [d3d11] Partially implement SOSetTargets/SOGetTargets * [dxvk] Recreate buffer views if necessary * [dxvk] Implemented physical buffer view * [d3d11] Fixed potential sync issue in Map() * [dxbc] Use correct arrays for vicp/vocp in hull shaders * [dxvk] Add adapter logging * [dxbc] Fix hull shader barrier issue ------------------------------------------------------------------- Tue Mar 06 18:53:22 UTC 2018 - pousaduarte@gmail.com - Update to version 0.30~git20180306: * [dxbc] Implemented vicp for hull shaders ------------------------------------------------------------------- Tue Mar 06 17:52:36 UTC 2018 - pousaduarte@gmail.com - Update to version 0.30~git20180306: * Add support for MSVC, attempt 3 (#130) * [dxbc] Implemented workaround for hull shader output synchronization * [d3d11] Enabled tessellation shaders * [dxbc] Implemented domain shader input variables * [dxbc] Implemented hull shader passthrough ------------------------------------------------------------------- Tue Mar 06 14:44:11 UTC 2018 - pousaduarte@gmail.com - Update to version 0.30~git20180306: * [dxbc] Reworked Hull Shader phase invocations * [dxbc] Implemented Hull Shader output setup * [dxbc] Implemented Hull Shader output variables * [d3d11] Re-implement check for mapping device-local images * [dxbc] Added support for the control point phase in Hull Shaders * [dxbc] Formatting fixes + Hull shader barriers ------------------------------------------------------------------- Mon Mar 05 15:53:50 UTC 2018 - pousaduarte@gmail.com - Update to version 0.30~git20180305: * [dxbc] Fixed tessellation factor enums * Revert "Add MSVC support (#123)" * Add MSVC support (#123) * [dxbc] Added tess level interface variables * [tests] Simplified dxbc disasm test * [general] Updated README on wine 3.3 * [d3d11] Treat D3D11SamplerState as state object * [d3d11] Fixed CheckMultisampleQualityLevels return values * [d3d11] add stub for ID3DUserDefinedAnnotation (#122) * [d3d11] Fixed potential crashes in InitImage/InitBuffer ------------------------------------------------------------------- Sun Mar 04 10:08:07 UTC 2018 - pousaduarte@gmail.com - Update to version 0.30~git20180303: * [dxvk] Fixed D3D11CreateDeviceAndSwapChain bug ------------------------------------------------------------------- Sat Mar 03 21:38:24 UTC 2018 - pousaduarte@gmail.com - Update to version 0.30~git20180303: * [d3d11] Fixed FinishCommandList * [d3d11] Move framebuffer creation out of OMSetRenderTargets * [d3d11] Implemented FinishCommandList/ExecuteCommandList * [dxgi] implement CreateDXGIFactory2 (#120) ------------------------------------------------------------------- Sat Mar 03 12:17:28 UTC 2018 - pousaduarte@gmail.com - Update to version 0.30~git20180302: * [dxvk] Fix typo * [dxvk] Fix Nvidia driver version number ------------------------------------------------------------------- Fri Mar 02 13:39:09 UTC 2018 - pousaduarte@gmail.com - Update to version 0.30~git20180302: * [dxvk] Do not enable HUD if DXVK_HUD is 0 * Debug logging for compute shaders (#115) * [dxvk] Use linked list for CS chunks ------------------------------------------------------------------- Thu Mar 01 13:44:07 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180301: * [dxbc] Implemented more tessellation-related declarations * [dxbc] Implemented Hull Shader control point count declarations ------------------------------------------------------------------- Thu Mar 01 11:13:15 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180301: * [dxbc] Implemented Hull Shader fork/join phase invocations * [dxgi] Added support for 422 formats * [dxbc] Implemented new workaround for depth-compare ops on Nvidia * [dxbc] Implemented Hull shader function declarations * [dxvk] Replaced exception by error message * [dxvk] Fixed potential memory allocation issue * [d3d11] Implemented CSGetUnorderedAccessViews * [dxbc] Implemnted some HS/DS stubs ------------------------------------------------------------------- Wed Feb 28 14:01:20 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180228: * [dxvk] Implemented new workaround for query-related lockups * [dxbc] Do not emit depth image types for integer images * [dxbc] Remove packDrefValueIntoCoordinates hack * [dxbc] Use signed integers for bit insert/extract ops * [dxvk] Added workaround for RADV query problem ------------------------------------------------------------------- Tue Feb 27 12:51:39 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180227: * [dxvk] Fall back to host memory if no device memory is available * [dxvk] Mark events and queries as available by default * [d3d11] Add exception handling to CreateTexture* methods ------------------------------------------------------------------- Mon Feb 26 17:52:57 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180226: * [d3d11] Return fake tessellation shader obejects to the application * [d3d11] Fix Create*Shader return values * [d3d11] Fix format for 1D RTVs and DSVs * [dxbc] Implement EvalAttribute* instructions ------------------------------------------------------------------- Mon Feb 26 14:34:18 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180226: * [d3d11] Implemented 1D render target and depth-stencil views * Revert "[d3d11] Remvoed query support" * Revert "[d3d11] Fixed fake event query" * [dxbc] Properly implement Input/Output coverage masks ------------------------------------------------------------------- Mon Feb 26 11:00:49 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180224: * [util] fix GUID printing * [dxgi] add support for B4G4R4A4 color format ------------------------------------------------------------------- Sun Feb 25 15:46:11 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180225: * [dxvk] Fixed potential null pointer access when creating descriptor set * [dxvk] Fixed 32-bit compilation issue, derp ------------------------------------------------------------------- Sat Feb 24 23:15:32 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180224: * [dxvk] Implement proper graphics and compute state validation * [d3d11] Return early for clear operations on NULL views * Throw error if requested layer is not installed (#100) ------------------------------------------------------------------- Fri Feb 23 22:05:48 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180223: * [d3d11] Fixed CopySubresourceRegion for partial buffer updates * [d3d11] Fixed fake event query * [d3d11] Remvoed query support * [dxvk] Validate tessellation state for graphics pipeline ------------------------------------------------------------------- Thu Feb 22 20:46:10 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180222: * [d3d11] Allow UAVs to be created for the swap image * [d3d11] Do not create views if the resource bind flags are invalid ------------------------------------------------------------------- Thu Feb 22 18:16:52 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180222: * [spirv] Added experimental spirv-tools integration * [general] wine-staging -> wine-vulkan ------------------------------------------------------------------- Wed Feb 21 21:38:28 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180221: * [dxbc] Implement AtomicIMin/Max instructions * [dxvk] Implemented typeless resolve * [dxvk] Change resolveImage interface to accept an explicit format ------------------------------------------------------------------- Tue Feb 20 12:22:13 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180220: * [dxvk] Support depth-to-color image copies and vice versa * [d3d11] Added test case for occlusion queries and small improvements * [d3d11] Fixed crash with timestamp disjoint queries * [d3d11] Remove leftover log message * [dxvk] Implement backend part for event queries * [d3d11] Wired up D3D11Query to backend ------------------------------------------------------------------- Sun Feb 18 23:14:21 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180218: * [dxgi] Add stub implementation of DXGI_PRESENT_TEST * [dxvk] Added query tracker ------------------------------------------------------------------- Sun Feb 18 16:47:11 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180218: * [dxvk] Implemented query allocation * [dxvk] Relax feature requirements, minor fixes * [dxbc] Use correct image query instructions for UAVs ------------------------------------------------------------------- Fri Feb 16 13:42:37 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180216: * [dxvk] Only emit depth image types for 2D and Cube images * [dxbc] Added support for SV_RenderTargetID in pixel shaders * [dxvk] Add DxvkEvent class * [dxvk] Make query pools more usable as query allocators * [dxbc] Implemented BfRev instruction * [dxvk] Introduced DxvkComputePipelineStateInfo ------------------------------------------------------------------- Wed Feb 14 16:22:11 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180214: * [dxvk] Do not commit compute barriers for unbound resources * [dxgi] Use recursive locking and report fullscreen state changes early * [d3d11] Fix unhandled exception * [d3d11] Added experimental support for RTVs into 3D images * [dxvk] More query stuff * [d3d11] Implemented SRV and RTV normalization ------------------------------------------------------------------- Tue Feb 13 13:17:45 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180213: * [dxvk] Implemented more query and query pool methods ------------------------------------------------------------------- Mon Feb 12 21:38:23 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180212: * [dxvk] Implemented virtual query class and query pool stub * Improve documentation for building on Debian (#66) * Setup script: improvements to error handling (#65) * [dxvk] Added Query stub ------------------------------------------------------------------- Sat Feb 10 16:17:41 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180208: * Fixes for the setup script (#63) * [hud] Use buffer invalidation instead of synchronization * [dxbc] Added support for oDepthGe/oDepthLe * [dxbc] Added support for early fragment tests * [dxbc] Silence DclIndexRange warnings * [d3d11] Enable sampleRateShading feature ------------------------------------------------------------------- Wed Feb 07 18:26:07 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180207: * [dxvk] Improve internal framebuffer APIs * [dxvk] Improve debuggability of shader compiler issues * [dxvk] Fixed MSAA issue in render pass info * [d3d11] Fix optional write issue in GetData() ------------------------------------------------------------------- Tue Feb 06 17:14:42 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180206: * Setup script: added an option to check status (#59) * [d3d11] Add support for DSV read-only flags * [general] Updated README ------------------------------------------------------------------- Mon Feb 05 22:23:52 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180205: * [dxvk] Separated resource view classes * [dxvk] Add index buffer and vertex buffer usage flags to dummy buffer * [dxvk] Add hack to allow RenderDoc to function on AMD GPUs ------------------------------------------------------------------- Mon Feb 05 11:30:10 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180205: * [d3d11] dlls_setup.sh -> setup_dxvk.sh * [general] Remove _vk prefix from DLL names * wine install script to support overrides only. (#57) * [dxvk] Unbind incompatible resources * [dxvk] Reduced resource binding overhead a bit * [d3d11] Implemented ClearUnorderedAccessViewUint for images * [dxbc] Implemented Geometry SV RenderTargetId * [dxbc] Fixed output value store for geometry shaders * [dxbc] Implemented stream instructions for single-stream GS * [dxbc] Implemented Lod instruction * [dxbc] Implemented SampleInfo instruction * [dxbc] Fixed image size query for multisampled images * [dxbc] Implemented GatherPo and GatherPoC instructions * [dxbc] Implement CountBits/FirstBit instructions ------------------------------------------------------------------- Sat Feb 03 21:23:55 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180203: * [d3d11] Implemented CopySubresourceRegion for buffers * [dxbc] Remove push constant block for now ------------------------------------------------------------------- Fri Feb 02 21:40:04 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180202: * [dxbc] Do not emit depth type for non-sampled resources ------------------------------------------------------------------- Thu Feb 01 22:36:27 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180201: * [dxvk] Initial work on instance data fetch rates * [dxbc] Added push constant definition block ------------------------------------------------------------------- Thu Feb 01 13:43:23 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180201: * [dxvk] Set dummy vertex buffer size to the maximum binding stride * [dxvk] Initialize dummy resources to zero * [dxvk] Bind dummy resource for unbound vertex and index buffers * [d3d11] mock D3D11_QUERY_EVENT ------------------------------------------------------------------- Wed Jan 31 17:42:06 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180131: * [d3d11] Added missing CS thread sync for non-discard Map() * [dxbc] Remove duplicate image type declaration ------------------------------------------------------------------- Wed Jan 31 12:22:33 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180131: * [d3d11] Include ------------------------------------------------------------------- Wed Jan 31 00:41:44 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180131: * [dxvk] Use logger instead of exception when compiling pipelines ------------------------------------------------------------------- Tue Jan 30 17:42:38 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180130: * [dxvk] Fixed incorrect barriers for depth-stencil images ------------------------------------------------------------------- Tue Jan 30 11:27:15 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180130: * [d3d119 Implemented DXVK_FEATURE_LEVEL to restrict D3D feature levels * [dxgi] Use VK_PRESENT_MODE_FIFO instead of MAILBOX * [dxgi] Remove SyncInterval implementation ------------------------------------------------------------------- Tue Jan 30 01:54:02 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180130: * [d3d11] Get rid of duplicate code in ResolveSubresource * [d3d11] Handle non-multisampled source images in ResolveSubresource * [dxvk] Create dummy sampler * [dxvk] Emit dynamic state after binding a graphics pipeline ------------------------------------------------------------------- Mon Jan 29 16:42:10 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180129: * [d3d11] Fixed query-related logging * [general] Minor COM pointer improvements * [dxbc] Added Hull/Domain shader specific structures * Add an option to set up dxvk through overrides (#40) * [d3d11] Implemented CreateHullShader and CreateDomainShader ------------------------------------------------------------------- Mon Jan 29 11:34:42 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180129: * [dxvk] Fixed incorrect buffer create info * [d3d11] Added support for tessellation patch primitives * [dxbc] Implemented OutputCoverageMask * [dxbc] Declare SV variables on first use ------------------------------------------------------------------- Mon Jan 29 00:48:51 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180129: * [d3d11] Silence unnecessary SOSetTargets errors * [dxvk] Refactored physical buffer * [dxvk] Minor CS improvement * [d3d11] Remove default sampler * [d3d11] Fixed incorrect aspect mask for depth-stencil clear ops * [general] Make use of C++ zero initialization * [d3d11] Implmented ResolveSubresource for typed resources * [dxgi] Added typeless format flag * [dxbc] Added support for SV_SampleIndex ------------------------------------------------------------------- Sun Jan 28 12:17:20 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180128: * [d3d11] Implemented normalization for UAV descriptions * [d3d11] Implemented GetUnorderedAccessViewDescFromResource * [dxbc] Remove obsolete error message when resinfo is used with UAVs ------------------------------------------------------------------- Sat Jan 27 19:50:56 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180127: * [dxbc] Removed branches around texture sample/gather ops * [dxvk] Added dummy resources for descriptors * [dxvk] Fixed incorrect framebuffer attachment formats ------------------------------------------------------------------- Fri Jan 26 18:25:59 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180126: * fixed dlls_dir variable in the setup script ------------------------------------------------------------------- Fri Jan 26 00:05:06 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180125: * [dxvk] Do not dispatch compute shaders if no pipeline is bound ------------------------------------------------------------------- Thu Jan 25 01:16:38 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180124: * [dxvk] Fixed reported size of staging buffers ------------------------------------------------------------------- Wed Jan 24 12:18:33 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180123: * [d3d11] Implemented IAGetIndexBuffer an IAGetVertexBuffers * [d3d11] Fixed depth-stencil clear outside renderpasses * [dxvk] Fixed potentially problematic image barriers * [dxvk] DxvkBindingLayout -> DxvkPipelineLayout ------------------------------------------------------------------- Tue Jan 23 16:49:38 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180123: * [d3d11] Sub-allocate from larger update buffers for UpdateSubresources * Revert "[dxvk] Use VK_IMAGE_LAYOUT_GENERAL for all render targets" ------------------------------------------------------------------- Tue Jan 23 12:47:22 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180123: * Improvements for log files (#22) * [dxvk] Use VK_IMAGE_LAYOUT_GENERAL for all render targets * [d3d11] Use Map() for host-visible buffers in UpdateSubresource * [d3d11] Implemented CS chunk submission for deferred contexts ------------------------------------------------------------------- Tue Jan 23 11:32:06 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180123: * [d3d11] Added stubs for deferred contexts and command lists * [d3d11] mock D3D11_QUERY_TIMESTAMP * [dxvk] Removed explicit image barriers for render passes * Updated issue template ------------------------------------------------------------------- Mon Jan 22 00:31:30 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180122: * [hud] Changed vertex buffer format ------------------------------------------------------------------- Sun Jan 21 18:41:33 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180121: * [d3d11] Synchronize with CS thread before present * [general] Updated README * Create issue_template.md * [dxvk] Recycle CS chunks * Revert "[d3d11] Temporary fix for Presenter <-> CS thread sync issue" * [d3d11] Temporary fix for Presenter <-> CS thread sync issue * [d3d11] Fixed flush order * [d3d11] Fixed image copy operation * [dxvk] Limit size of the CS command queue * [dxvk] Fixed incorrect image packing behaviour * [d3d11] Enabled command stream thread * [d3d11] Record commands into a CS chunk * [d3d11] Use EmitCs for buffer mapping * [d3d11] Use EmitCs for resource updates * [dxvk] Added convenience functions to work with compressed image sizes * [d3d11] Use EmitCs for some Copy/Clear operations * [d3d11] Use EmitCs for state object updates * [d3d11] Use EmitCs for shader and resource binding methods * [d3d11] Use EmitCs for Input Assembly methods * [d3d11] Use EmitCs for draw and dispatch calls * [d3d11] Use EmitCs for general setup and synchronization methods * [dxvk] Refactored blend constants * [d3d11] Add EmitCs method to D3D11DeviceContext * [dxvk] Remove command dispatch methods from CS thread ------------------------------------------------------------------- Sun Jan 21 11:46:32 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180121: * [general] Rename libraries * Added script to setup dlls in wine (#19) * [dxvk] fix missing renderPassEnd calls * Check if shader in READ_PATH exists before using it ------------------------------------------------------------------- Sat Jan 20 15:48:49 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180120: * [d3d11] Added new D3D11ImmediateContext class ------------------------------------------------------------------- Sat Jan 20 12:01:30 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180120: * [dxbc] Implemented SampleB instruction * [d3d11] Implemented mipmap generation ------------------------------------------------------------------- Fri Jan 19 20:27:28 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180119: * [d3d11] Fixed initialization of compressed images * [d3d11] Implemented image mapping for reads * [general] Updated README ------------------------------------------------------------------- Fri Jan 19 12:08:06 UTC 2018 - pousaduarte@gmail.com - Update to version 0.21~git20180119: * [general] Mention binary releases in README * [dxbc] Do not set ImageOperandsLodMask for multisample loads * [dxvk] Use strict rasterization order when depth test is disabled * [dxvk] To not attempt to clear compressed image * [d3d11] Downgraded input layout message to debug * [dxvk] Optimized buffer renaming * Fix build on gcc6 * [dxvk] Fixed offset in buffer to image copy * [dxvk] Fixed DxvkPhysicalBufferSlice initialization * [dxvk] Cleaned up DxvkBufferSlice and added documentation * [d3d11] Use DxvkPhysicalBufferSlice for resource copies and buffer views * [dxvk] Use DxvkPhysicalBufferSlice for indirect draws and buffer binding * [dxvk] Use DxvkPhysicalBufferSlice for buffer memory barriers * [dxvk] Added DxvkPhysicalBuffer to back virtual buffers ------------------------------------------------------------------- Thu Jan 18 11:40:37 UTC 2018 - pousaduarte@gmail.com - Update to version 0.20~git20180118: * [d3d11] Map default constant buffers to host memory ------------------------------------------------------------------- Thu Jan 18 10:11:14 UTC 2018 - pousaduarte@gmail.com - Update to version 0.20~git20180118: * [dxvk] End render pass before a staged image upload * [d3d11] Enable dual-source blending feature * [d3d11] Updated D3D11CreateDevice * [d3d11] Removed some uninteresting log messages ------------------------------------------------------------------- Wed Jan 17 23:02:36 UTC 2018 - pousaduarte@gmail.com - Update to version 0.20~git20180117: * [dxbc] Implemented swapc * [general] Added release build instructions to readme * [d3d11] Enable depth clamp * [d3d11] Implemented normalization for shader resource view parameters ------------------------------------------------------------------- Wed Jan 17 11:44:39 UTC 2018 - pousaduarte@gmail.com - Update to version 0.20~git20180117: * [dxbc] Fixed shift operations * [dxgi] Removed leftover debug message * [dxbc] Implemented gather instructions and pixel shader SVs * [dxgi] Fixed DXGI_FORMAT_A8_UNORM component mapping * [dxbc] Implemented ld2dms * [d3d11] Reduced log spamming, improved parameter naming consistency * [d3d11] copy all layers and mipmaps in CopyResource * [d3d11] support textures in CopyResource * [d3d11] move supported query check to d3d11_query * [d3d11] don't fail when creating unsupported queries ------------------------------------------------------------------- Tue Jan 16 15:57:08 UTC 2018 - pousaduarte@gmail.com - Update to version 0.20~git20180116: * [dxvk] Make use of VK_AMD_rasterization_order * [dxvk] Added app and device specific options * [dxvk] Refactored device extension handling * [util] Fixed message logging to file * [util] Added getExeName() function * [d3d11] Using proper layout for depth textures read by shaders * [util] Fixed compiler issue with older GCC versions * [dxvk] Increased queued command submission limit * [dxvk] Limit vkCmdUpdateBuffer size to 4kB * [d3d11] Flush resource init commands