kd-11
31b07f2c5c
rsx: Tweaks
...
- Optimize get_surface_subresource
- Add check_program_status time to draw call setup statistics. It can slow down games significantly
2017-11-02 14:35:19 +03:00
kd-11
361e80f7dc
rsx: Tag cache blocks returned on access violation to validate data passed
...
to flush_all is up to date. Should prevent recursive exceptions
Partially revert Jarves' fix to invalidate cache on tile unbind. This will
need alot more work. Fixes hangs
2017-10-29 15:25:17 +03:00
kd-11
ce2b790d8f
rsx/qt: GsFrame improvements
...
- Identify minimize/restore events as separate from regular resize and do not react to them
- Enable message queue consumption after loading the shaders cache. Also hides the frame in this step
-- This fixes the 'start fullscreen' bug when running vulkan
2017-10-29 15:25:17 +03:00
kd-11
055f0e2e4a
rsx: Export more information about affected cache sections when handling violations
...
- This allows for better handling of deferred flushes.
-- There's still no guarantee that cache contents will have changed between the set acquisition and following flush operation
-- Hopefully this is rare enough that it doesnt cause serious issues for now
2017-10-28 13:26:16 +03:00
kd-11
bf234dc668
rsx: Implement memory tags for strict mode to validate render target memory
2017-10-28 13:26:16 +03:00
Jake
e0d1ac676e
rsx: invalidate surface store address when tile is unbound
2017-10-28 12:46:20 +03:00
kd-11
d53673c6f7
rsx: Disable draw call batching when strict mode is enabled
...
- Minor bugs have been observed with it always enabled
2017-10-26 00:35:45 +03:00
kd-11
e9f293f522
rsx: Improve separate treatment of write exceptions vs read exceptions
...
- Optimizes search functionality and avoids thrashing valid sections
2017-10-24 22:59:09 +03:00
kd-11
7a5c88a8d1
rsx: Only transfer framebuffer contents if memory contents are compatible
2017-10-24 22:59:09 +03:00
kd-11
0de0dded53
rsx: Texture fixes continued
...
- Fix buffer invalidate behaviour (wcb)
- Disable auto rebuild with only framebuffer storage getting rebuilt
- Fix vulkan subresource sampling
2017-10-24 22:59:09 +03:00
kd-11
5e58cf6079
rsx: Restructuring [WIP]
...
- Refactor invalidate memory functions into one function
- Add cached object rebuilding functionality to avoid throwing away useful memory on an invalidate
- Added debug monitoring of texture unit VRAM usage
2017-10-24 22:59:09 +03:00
kd-11
a8e1754fa4
rsx: Allow clear_surface command for depth-only passes. Removes invalidate cache hack
2017-10-19 12:22:52 +03:00
kd-11
5db45c3699
rsx: More fixes
...
- Workaround for AMD glMultiDrawArrays bug
- Disable disjoint command submission when multidraw support is disabled
2017-10-19 12:22:52 +03:00
kd-11
89dcafbe41
rsx: Reimplement index buffer generation
...
- Emulate primitive restart in software whenever we get the chance
- Ensure PRIMITIVE_RESTART is never active when LIST topologies are active
- Reimplement TRIANGLE_FAN, POLYGON and QUAD expansion
2017-10-19 12:22:52 +03:00
kd-11
58860614e3
rsx/qt: Implement native window hooks for win32 windows to allow communication between WndProc thread and rsx::thread
...
- This communication is important in communicating window events. Helps properly synchronize swapchain management on vulkan and stops nvidia crashing
- Do not block the message queue lest the driver detect window as not responding
2017-10-12 13:51:29 +03:00
kd-11
5a03db7d2e
rsx: Improve memory protection behavior when strict mode is off
2017-10-10 12:10:41 +03:00
kd-11
12ab03b0b5
rsx/gl: Implement resolution scaling
...
rsx: Revise wpos calculation to take resolution scale into account
2017-10-09 20:25:41 +03:00
kd-11
393e3b702f
rsx: Clean up debug overlays. Add unreleased textures metric to track texture memory
2017-09-23 16:46:41 +03:00
kd-11
3499d089e7
rsx: Texture cache fixes and improvements
...
rsx: Conditional lock hack removed
vulkan - Fixes
- Remove unused texture class
- Fix native pitch calculation (WCB)
rsx: Catch hanging begin/end pairs when flushing deferred draw calls
vulkan: Register DXT compressed formats
vulkan: Register depth formats
gl: Workaround for 'texture stitching' when gathering flip surface
- TODO: Add a proper flip hack option
rsx: Fix texture memory size calculation
- DXT textures dont have real pitch. Since pitch is used to calculate memory size, make sure it always evaluates to rsx_size
rsx: Fix cpu copy detection
rsx: Validate blit dst surface and dont make assumptions about region blit order
- Also relax restrictions on memory owned by the blit engine if strict rendering is not enabled
rsx: Fix depth texture detection
rsx: Do not manually offset into dst. The overlapped range check does so automatically
rsx: Minor optimizations
rsx: Minor fixes
- Fix to detect incompatible formats when using GPU texture scaling and show message
- Better 'is_depth_texture' algorithm to eliminate false positives
2017-09-21 16:17:06 +03:00
kd-11
6b96a2022a
rsx: Add support for non-projective shadow sampling
...
- Fixes missing shadows in persona 5
vk: Enable polygon depth bias a.k.a polygonOffset
- Fixes shadow acne in persona 5
2017-09-21 16:17:06 +03:00
kd-11
3836b40bf7
rsx: Fixups
2017-09-21 16:17:06 +03:00
kd-11
45d0e821dc
gl: Minor optimizations
...
rsx: Texture cache - improvements to locking
rsx: Minor optimizations to get_current_vertex_program and begin-end batch flushes
rsx: Optimize texture cache storage
- Manages storage in blocks of 16MB
rsx/vk/gl: Fix swizzled texture input
gl: Hotfix for compressed texture formats
2017-09-21 16:17:06 +03:00
kd-11
e37a2a8f7d
rsx: Texture cache fixes and improvments
...
gl/vk/rsx: Refactoring; unify texture cache code
gl: Fixups
- Removes rsx::gl::texture class and leave gl::texture intact
- Simplify texture create and upload mechanisms
- Re-enable texture uploads with the new texture cache mechanism
rsx: texture cache - check if bit region fits into dst texture before attempting to copy
gl/vk: Cleanup
- Set initial texture layout to DST_OPTIMAL since it has no data in it anyway at the start
- Move structs outside of classes to avoid clutter
2017-09-21 16:17:06 +03:00
kd-11
07c83f6e44
gl: cleanup; fix program linkage on mesa using GL_ARB_explicit_uniform_location, also make use of ARB_multidraw
2017-09-21 16:17:06 +03:00
kd-11
061824a7ec
rsx: Add support for batched multidraw
...
gl: Fix multidraw [WIP]
rsx: Ignore vertex base when data source is generated using arithmetic
vk: Check pending flag before doing fence poke
vk/gl: Fix for inlined array and immediate draws
rsx: Collapse joined draws when batching
2017-09-21 16:17:06 +03:00
kd-11
2d0f1f27a8
esx: Fixes to the texture cache
...
rsx: Blit engine improvements
- Always handle blits to and from framebuffers through the GPU
- Handle depth surfaces properly when using GL
- Check for format mismatches when blitting to the surface store [WIP]
2017-09-21 16:17:06 +03:00
kd-11
2033f3f7dc
rsx/vk/gl: Refactoring and reimplementation of blit engine
...
Fix rsx offscreen-render-to-display-buffer-blit surface reads
- Also, properly scale display output height if reading from compressed tile
gl: Fix broken dst height computation
- The extra padding is only there to force power-of-2 sizes and isnt used
gl: Ignore compression scaling if output is rendered to in a renderpass
rsx/gl/vk: Cleanup for GPU texture scaling. Initial impl [WIP]
- TODO: Refactor more shared code into RSX/common
2017-09-21 16:17:06 +03:00
kd-11
e56d8db6a3
gl: Do not modify bound depth/stencil buffers bound to zcull memory
...
- Fixes some rare cases where zcull always fails
2017-08-26 21:53:54 +03:00
kd-11
e76b6e3f27
gl: Workaround for restrictive z range
2017-08-26 21:53:54 +03:00
kd-11
f71f67c4ff
rsx: Make fragment state dynamic to reduce shader permutations
2017-08-26 21:53:54 +03:00
kd-11
8358bda133
gl/rsx: Fixes to zcull pixel counting
2017-08-26 21:53:54 +03:00
kd-11
b86745ee4e
gl: Fix vsync; always use adaptive vsync instead of double-buffered
2017-08-16 23:58:30 +03:00
kd-11
3c9bab8563
ui: Move disable vertex cache to debug. Also add an option to disable zcull emulation in the debugger
2017-08-16 23:58:30 +03:00
kd-11
00c6a589a5
rsx/util: Add simple consistent hash function
...
rsx/vk/shaders_cache: Move vp control mask to dynamic state
rsx/vk/gl: adds a shader cache for GL. Also Separates pipeline storage for each backend
rsx: Add more texture state variables to the cache
2017-08-16 23:58:30 +03:00
kd-11
1da732bbf5
rsx/gl/vk: Invalidate texture regions when memory is unmapped
...
- Free GPU resources immediately if mappings change to avoid leaking VRAM
2017-08-16 23:58:30 +03:00
kd-11
d54c2dd39a
gl: Move vertex processing to the GPU
...
- Significant gains from greatly reduced CPU work
- Also reorders command submission in end() to improve throughput
- Refactors most of the vertex buffer handling
- All vertex processing is moved GPU side
2017-08-16 23:58:30 +03:00
kd-11
1e46cd255b
gl: Fix inconsistent state tracking
2017-08-10 00:16:20 +03:00
kd-11
e5e6af41a6
gl: Fix occlusion statistics clearing
2017-08-10 00:16:20 +03:00
kd-11
4c019c55d2
rsx/gl: Fix zcull queries and log conditional render modes
...
- Fixes a situation where a query readback is requested while zcull render is still active
2017-08-10 00:16:20 +03:00
kd-11
fcb7072fee
Implement hardware zcull emulation
...
rsx/gl: Support s1 immediate values; ogl minor refactoring
2017-08-06 14:29:42 +03:00
Jake
d9a693019b
rsx/gcm: Implement rsx dma. Refactor gcm/rsx to not be as codependent
2017-08-02 01:33:12 +03:00
kd-11
f613901eac
gl/vk: Do not trust gcm buffer size to match internal rendering resolution
...
- Should fix games with strange scaling artifacts due to upscaling from lower resolutions
2017-07-27 14:33:30 +03:00
kd-11
4cd5624fa7
rsx/vk/gl: Refactoring - Also adds a vertex cache to openGL as well
2017-07-27 14:33:30 +03:00
kd-11
cb194e06ce
gl: Fix framebuffer validity checks
2017-07-24 16:52:42 +03:00
kd-11
2526626646
rsx: Surface cache bug fixes
...
- Properly handle data 'transfer' when recycling frame buffer images
- Clear 'recycled' surfaces before use
2017-07-19 23:28:33 +03:00
kd-11
05ffb50037
vk/rsx: Bug fixes and improvements
...
- Improvements to framebuffer usage; Avoid creating new resources every frame
- Handle null fragment program properly
- Collect vertex upload statistics
- vk: Pre-initialize 'unused' varying registers in the vertex shader in case it gets matched with a fs that consumes it
-- Fixes a crash about fog_c not being declared
gl/dx12/vk: Handle null fragment program
- cleanup - use yield semantic instead of sleep(0) as yield is more cross-platform
-- sleep(0) is a windows specific scheduler hint
2017-07-19 23:28:33 +03:00
raven02
2e47c42367
Add Stretch to Display Area option ( #2961 )
2017-07-08 16:06:11 +03:00
kd-11
9e7a42d057
rsx: Minor bug fixes
...
- vk: Do not select first available format when choosing a swapchain format
- gl/vk: Ignore rendering zero sized framebuffers/scissors
- fp: Re-enable range clamp on fp16 registers; fix fx12 clamping [-2, 2]
2017-07-08 14:52:16 +03:00
kd-11
3d935b64f2
rsx/gl/vk: Enable contents transfer when a new framebuffer is created and not cleared
2017-07-08 14:52:16 +03:00
kd-11
e9b8f94fb1
rsx/gl/vk: Enable frame skipping
2017-07-08 14:52:16 +03:00
kd-11
b95ffaf4dd
rsx: Implement skip draw. Also, start working on MT vertex upload
2017-07-08 14:52:16 +03:00
kd-11
72edf26fb8
rsx/gui: Add a strict mode toggle. Also reorganizes the graphics tab a bit
...
code cleanup
2017-06-22 23:36:15 +03:00
kd-11
590bb7cbe4
rsx: Bug fixes
...
rsx: Give more info when ring buffer allocations fail
2017-06-22 23:36:15 +03:00
kd-11
798f90dac2
rsx/ui: Make a few settings configurable via the GUI
2017-06-22 23:36:15 +03:00
kd-11
b2e906f4cc
rsx: Code cleanup. Fixes several dozen warnings
...
- Wrap unused parameters as comments to prevent C1400
- Fix sized variable conversions with explicit casts
2017-06-22 23:36:15 +03:00
kd-11
86adc42739
rsx/gl/vk: Invert default stencil values
...
- Fixes stencil volume shadows in a few games. This is part of the surface invalidation workarounds
2017-06-22 23:36:15 +03:00
kd-11
98cf72e0fb
rsx: Fix clip space computations
2017-06-22 23:36:15 +03:00
kd-11
db1a90d828
rsx: Discard surface store contents once per frame (temp workaround)
...
Need to find the proper command issued to discard all surfaces
2017-06-22 23:36:15 +03:00
kd-11
69d3d47901
gl: Fix clip-space -> depth conversion. Fixes remaining depth read issues
...
- Also set some default values for samplers in a cleaner way using their 'natural' float values
2017-06-22 23:36:15 +03:00
kd-11
5f66d0b996
rsx/wip: Fix depth surface reuse and clearing (fixes shadows)
2017-06-22 23:36:15 +03:00
kd-11
860b76452f
vulkan bringup on linux
...
cleanup: drop unused stuff
2017-06-08 19:08:44 +03:00
kd-11
e8b4d332eb
rsx: Use faster upload path when conditions allow
...
Fix aligned memory access (SSE)
rsx: BufferUtils; always use optimized paths
2017-05-22 14:28:33 +03:00
Nekotekina
f010b5b235
Configuration simplified
2017-05-20 16:01:48 +03:00
kd-11
c5975d5f66
rsx: Vertex program output fixes
2017-05-12 20:10:03 +03:00
Jake
60ce85f840
[Render] Userclip for d12/vk/ogl ( #2719 )
2017-04-25 18:32:39 +08:00
scribam
30eb680c9d
Check variable before to execute remove, in GLGSRender::on_exit ( #2682 )
2017-04-18 00:30:34 +03:00
kd-11
ac3b22902a
gl: Autodetect supported OpenGL extensions
...
cleanup
2017-04-10 17:24:30 +03:00
raven02
9b48074389
GL: fix wireframe in Catherine ( #2660 )
2017-04-10 09:28:46 +08:00
kd-11
6d6d0e4e36
gl: Use the GPU to scale textures; use ARB_sampler_object
...
Improve scaling and separate sampler state from texture state
gl: Unify all texture cache objects under one structure separate by use case
gl: Texture cache fixes
- Acquire lock when finding matching textures
- Account for swizzled surfaces when deciding whether to cpu memcpy
- Handle swizzled images on the GPU
2017-04-08 23:12:09 +03:00
kd-11
3ec1fe9ee7
rsx: Fix depth clears on z16 surfaces without stencil
...
remove some debug code
2017-03-26 16:22:53 +03:00
kd-11
79d114cc06
rsx: Support immediate mode rendering
2017-03-26 16:22:53 +03:00
kd-11
8fc281e034
gl: Separate scale offset, fragment constants and transform constants uploads
2017-03-13 23:40:34 +03:00
kd-11
2093134420
gl: Do not attempt to re-flush an address if another thread flushes it first
2017-03-13 23:40:34 +03:00
kd-11
1fd33f611c
gl: Fix texture cache bugs
...
Fix endianness bug
Fix r/w when real pitch is <= 64
2017-03-10 19:11:53 +03:00
kd-11
7062efeb3e
gl: Fix a fence deadlock in fence::wait_for_signal
...
gl: Fix potential race condition when executing local work queue
2017-03-01 00:38:22 +03:00
kd-11
ef8e92cbe3
gl: Change clear timing to immediate
...
gl: Handle cell write to locked RTT region
addendum: Fix buffer locking (personal 4)
2017-03-01 00:16:55 +03:00
kd-11
7c73c3b75c
rsx/gl: Minor refactoring; prepare vulkan backend
2017-03-01 00:16:55 +03:00
kd-11
96561c16ad
gl: Rewrite texture cache
...
gl: scale downloaded RTT images
2017-03-01 00:16:55 +03:00
kd-11
9263999ad1
[rsx/vp] Improve BRB opcode implementation
...
fix merge issues
2017-02-26 10:17:34 +03:00
kd-11
d6159a35aa
gl/vk/dx12: Fix texture scaling on unnormalized rtt access
2017-02-11 15:45:59 +03:00
O1L
a809f33418
GL: try to skip incorrectly prepared FBO's.
2017-02-04 19:32:54 +03:00
Ryan Gonzalez
11e2965b5c
Switch to always using a steady clock ( closes #2200 )
2017-01-29 03:07:08 +03:00
O1L
778199ceb1
Added missing stencil op
2017-01-23 23:49:17 +03:00
kd-11
973bf5abdf
gl: Disable overlay if required extension is not supported ( #2212 )
2016-10-20 11:20:45 +08:00
kd-11
2c803dbe66
gl/vk: Bug fixes and improvements ( #2206 )
...
* gl: Only bind attrib textures on thread startup
* gl: Persistent mapped buffers
* gl: Fix emulated primitives in an inlined array
* gl: Do not re-update program information every draw call
* gl/vk: s1 type is signed normalized not unsigned normalized
* gl/rsx: Allow disabling of persistent buffers for debugging
gl: Large heap size is more practical
gl: Fix a bug with legacy opengl buffers
* gl/rsx: Allow emulation of unsupported attribute formats
* gl: Fix typos and remove dprints
gl: cleanup debug prints
* ui: Move the GL legacy buffer toggle to the left pane
* vk/gl: Fix cmp type, its range is [-1,1] not [0,1] SNORM_INT
2016-10-18 15:57:28 +08:00
kd-11
8454949eea
gl/vk/rsx: Add a cross-platform overlay text; Minor perf improvements and rsx bugfixes ( #2196 )
...
* gl/rsx: Implement platform-agnostic text overlays
gl: Restore performance metrics using new text out helper
gl/rsx: Refactor text generation class
* vk: Enable text overlay
gl/vk: Polish overlay counters implementation
gl: Better resource shutdown for text writer
* gl: Optimization, do not rebind TIUs every frame. Speedup
* gl: Optimizations and improvements to vertex upload code
* gl/vk: Texture format swizzles
vk: Texture format fix
vk: Fix YX format swizzles
* rsx: Decode vertex texture index
2016-10-11 08:55:42 +08:00
kd-11
7a9841bb2a
gl/vk/dx12: Fix depth reconstruction bug; Fix sampler parameters ( #2188 )
...
vulkan: Fix duplicated code bug
fix rebase
2016-10-04 21:51:40 +08:00
kd-11
5430e1d310
rsx/gl/vk/dx12: Add emulated texture fetch for depth read ( #2173 )
...
* rsx/gl/vk/dx12: Add emulated texture fetch for depth read
gl/vk/dx12: Simplify reinterpretation equation
* gl: Remove unnecessary re-swizzle
* glsl: explicitly cast uint to float
2016-09-29 14:54:32 +08:00
kd-11
4f74cbe510
gl: Reverse cull face when origin == top ( #2161 )
2016-09-27 15:34:01 +08:00
kd-11
7884356e90
gl/vk: Bug fixes and improvements ( #2155 )
...
* gl: Fix broken buffer reserve computation
* gl: Texture format fixes
* gl: Two sided lighting
* gl: Always update glsl output registers
* gl: Simplify vertex input declaration
* vk: Always write output registers
* vk/gl: swizzle component read on depth textures
* gl/vk: Use proper MVP matrix
gl: fix broken mvp when window_origin=top
* vk/gl: Move fragment operations block into the proxy function
2016-09-26 20:21:17 +08:00
raven02
fcb853792d
Typo fix ( #2153 )
2016-09-25 16:53:57 +08:00
Oil
b72f6da853
Porting of DH's user clip implementation in gl ( #2139 )
...
* Porting of DH's user clip implementation in gl
* Tweak clang-format
* rsx: Move inline array to draw_clause structure.
* rsx: Use variant based draw commands.
* rsx: Dump DRAW_ARRAYS and DRAW_INDEX_ARRAYS.
* GL: old recompiler clean up (#2142 )
* RSX texture refactor (#2144 )
* gl/vk: Enable vertex texture fetch (#2127 )
* gl: Enable vertex textures
* rsx: use textureLod instead of generic texture sample
* rsx: handle uploading of W32_X32_Y32_Z32
* gl: Re-enable proper shader logging
remove old logging method that overwrites single file
* gl: Declare texture_coord_scale for vertex samplers
* gl: texture remap fixes; enable remap for vertex textures
* gl: offset texture indices to base layer 16
* rsx: Fix W32_Z32_Y32_X32_FLOAT subresource layout
* vk: Enable vertex textures
* rsx: define special calls for vertex texture fetch
* gl: improved vertex texture fetch setup
* vk: Fix texture formats and component mapping
* vk: Implement vertex texture fetch functions properly
* vk/gl: proper fix for primitive restart index
revert inadvertent decompiler update
* gl: Disable filtering for vertex textures
* Hopefully fix appveyor build (#2148 )
* GL/Vulkan: Bug fixes and improvements; alphakill for vulkan (#2146 )
* vk: Zero-initialize some more structs
* gl: Clean up fragment program generation code
* vk: Enable alpha kill
* vk: Fix surface clear; redirect output for surface_type:b
* vk: Tie renderpass to program object to avoid incompatible passes
* vk: Properly compute descriptor pool size (#2150 )
* rsx: Set default attribute format to float.
* rsx: vertex attribute size is 1 again for CMP, let backend handles this formats properties.
* rsx: Move printing function in a separate header/cpp
* Porting of DH's user clip implementation in gl
2016-09-24 18:21:41 +08:00
kd-11
867e9210d7
gl/vk: Enable vertex texture fetch ( #2127 )
...
* gl: Enable vertex textures
* rsx: use textureLod instead of generic texture sample
* rsx: handle uploading of W32_X32_Y32_Z32
* gl: Re-enable proper shader logging
remove old logging method that overwrites single file
* gl: Declare texture_coord_scale for vertex samplers
* gl: texture remap fixes; enable remap for vertex textures
* gl: offset texture indices to base layer 16
* rsx: Fix W32_Z32_Y32_X32_FLOAT subresource layout
* vk: Enable vertex textures
* rsx: define special calls for vertex texture fetch
* gl: improved vertex texture fetch setup
* vk: Fix texture formats and component mapping
* vk: Implement vertex texture fetch functions properly
* vk/gl: proper fix for primitive restart index
revert inadvertent decompiler update
* gl: Disable filtering for vertex textures
2016-09-20 22:23:56 +08:00
raven02
77f8ce503d
RSX texture refactor ( #2144 )
2016-09-19 09:25:49 +08:00
vlj
a64053fd68
rsx: Remove some unused code.
2016-08-27 15:40:41 +02:00
raven02
bb66b97251
GL: minor fixes ( #2105 )
...
* Minor fixes
* temporary disable 2-sided lighting
* Disable user clip planes until they are properly handled
2016-08-27 14:12:44 +08:00
raven02
a270ac7f02
GL: re-use common fp/vp decompiler ( #2100 )
2016-08-26 22:23:23 +08:00
Vincent Lejeune
b8721b6475
gl: Refactor vertex_buffer.cpp
2016-08-11 19:47:14 +02:00
Nekotekina
a7e808b35b
EXCEPTION macro removed
...
fmt::throw_exception<> implemented
::narrow improved
Minor fixes
2016-08-08 19:19:32 +03:00
Vincent Lejeune
eb1d4811de
rsx: Use a "draw clause" object in rsx_state.
2016-08-05 23:33:40 +02:00
Nekotekina
5a36c57c57
Formatting system improved
...
`unveil<>` renamed to `fmt_unveil<>`, now packs args to u64 imitating va_args
`bijective...` removed, `cfg::enum_entry` now uses formatting system
`fmt_class_string<>` added, providing type-specific "%s" handler function
Added `fmt::append`, removed `fmt::narrow` (too obscure)
Utilities/cfmt.h: C-style format template function (WIP)
Minor formatting fixes and cleanup
2016-08-04 21:34:00 +03:00
kd-11
74fec275c7
gl: Clear depth surfaces before use; Vulkan cleanup ( #1957 )
...
* vk: Clean up a few trap messages
vk: silence a few compile errors
* gl: Clear new depth surfaces to max_depth
gl: use glClear to clear depth buffers
2016-07-22 07:31:58 +08:00
Nekotekina
ae634bb87e
RSX exception fix
...
VBlank thread management fix
2016-07-20 15:16:19 +03:00
raven02
e1ff3f4674
rsx: use fragment_textures_count ( #1948 )
...
* rsx: use fragment_textures_count
* Typo: unknow -> unknown
2016-07-19 22:50:40 +08:00
Nekotekina
ceb4cb59ac
Typo fix: comparaison->comparison
2016-07-19 14:17:25 +03:00
Vincent Lejeune
c6ed5a8e6b
gl: Fix direct call to rsx::method_registers array.
2016-07-17 17:31:53 +02:00
kd-11
ce56351554
gl: Fix fragment constants streaming ( #1907 )
2016-07-15 02:25:38 +08:00
kd-11
6401eefb26
gl: reset texture scaling factor during bind
...
reset vertex textures as well
2016-07-13 21:01:16 +03:00
kd-11
ea6f3ff5ed
gl: Properly determine front face winding
2016-07-13 21:01:16 +03:00
kd-11
97581d8635
gl: Fix primitive type checks
2016-07-13 21:01:16 +03:00
Vincent Lejeune
772706ca4c
Factorize rsx state
2016-07-07 21:38:57 +02:00
raven02
c3bac7c92b
GL: front face regression fix ( #1854 )
2016-07-01 20:47:56 +08:00
raven02
246b593783
Vulkan/GL: add default case for front face in case of garbage value ( #1844 )
2016-06-30 12:46:25 +08:00
DH
989f954432
Added WIP vertex textures support
2016-06-28 12:58:44 +03:00
DH
44879dd9f3
Implemented alpha kill and fog
2016-06-27 01:52:08 +03:00
DH
6ae54ae27b
RSX: Added legacy non-array vertex attributes support (if count of elements > 1)
...
Fixed ps1ght games
2016-06-26 21:32:50 +03:00
DH
bf8a20c4b9
Avoid using flip hack if it's possible
...
Also added some documentation about it
2016-06-26 21:32:49 +03:00
DH
e296f81a37
Shaders decompiler: support non 2D textures
...
Do not validate programs with undefined textures uniforms
Minor fix
2016-06-26 21:32:48 +03:00
DH
714e07b1dc
OpenGL rendered: use textures cache
2016-06-23 01:01:29 +03:00
DH
f30d71da6c
OpenGL renderer: improved vertex attributes setup
...
Minor fixes
2016-06-22 22:46:47 +03:00
DHrpcs3
cbf880fb71
OpenGL renderer: Proper clipping implementation
2016-06-21 19:56:07 +03:00
DHrpcs3
8fd3064905
OpenGL renderer: check for gl errors in release builds.
...
Ignore null-sized textures
Cleanup
2016-06-21 19:56:06 +03:00
DHrpcs3
3b5cd4845e
OpenGL renderer: use correct MVP matrix. Cleanup
...
Simplified gl::ring_buffer helper
2016-06-21 19:56:05 +03:00
O1L
67fe5e1107
Fill fragment constants
2016-06-21 19:56:02 +03:00
O1L
1778113b71
Use sampler buffers in vertex shaders
2016-06-21 19:56:01 +03:00
O1L
8637754d6a
Missed changes
2016-06-21 19:56:00 +03:00
O1L
083c4fc855
Try to use new shaders decompiler in OpenGL backend
2016-06-21 19:56:00 +03:00
raven02
9f1ee5bd28
OGL: disable pixel processing test before flip
2016-06-15 21:51:51 +08:00
kd-11
3a63b62486
gl: dynamically determine texture buffer offset alignment
...
fix alignment issues for gpus where align < 16 is ok
2016-06-14 00:08:23 +03:00
kd-11
6761d4a30c
gl: use streaming buffers for uniform & elem buffer as well
...
gl: stream uniform data using stream buffer
gl: vertex streaming improvements and bugfixes
gl: add basic timing info check for profiling
gl: ebo streaming fixes and enhancements
2016-06-14 00:08:23 +03:00
kd-11
ed94626411
gl: use unsynchronized buffer streaming for attribs
...
fix linux build
2016-06-14 00:08:23 +03:00
kd-11
c4102f3b18
vk/gl: Enable alpha test in shaders ( #1743 )
2016-06-05 20:31:23 +03:00
kd-11
2bcc755fca
Ignore clear if surface target is set to CELL_GCM_SURFACE_TARGET_NONE
2016-06-03 17:07:48 +03:00
Ivan
aafcf44581
Header optimizations ( #1684 )
...
Shouldn't break anything. I hope.
2016-04-27 01:27:24 +03:00
Ivan
da7472fe81
Optimizations ( #1680 )
...
* Optimizations
1) Some headers simplified for better compilation time
2) Some templates simplified for smaller executable size
3) Eliminate std::future to fix compilation for mingw64
4) PKG installation can be cancelled now
5) cellGame fixes
6) XAudio2 fix for mingw64
7) PPUInterpreter bug fixed (Clang)
* any_pod<> implemented
Aliases: any16, any32, any64
rsx::make_command fixed
2016-04-25 13:49:12 +03:00
Nekotekina
b85a68e8a1
Partial commit: RSX
2016-04-15 19:22:36 +03:00
kd-11
1a61ef0440
Remove deprecated features from core profile
2016-04-06 11:16:49 +03:00
Vincent Lejeune
bad2d7f121
gl: Move vertex setting in a separate file.
2016-04-02 18:27:49 +02:00
Vincent Lejeune
51a6862bf4
gl: Use right texture target.
2016-03-31 00:15:17 +02:00
Vincent Lejeune
855d6935d9
gl: Enable core context and debug output.
2016-03-27 03:45:30 +02:00
Vincent Lejeune
23a0116975
gl: Expand index for quads/quad_strip/triangle_fan
2016-03-22 21:39:00 +01:00
kd-11
ee0eb70de4
Clean up invalidated resources
2016-03-09 21:11:22 +03:00
Vincent Lejeune
81fcadac38
gl: Use shared surface store (updated)
...
Update surface cache optimization to master; minor fixes
Fix mixed EOL
Remove unused include; change null bindings to 0
2016-03-05 12:21:45 +03:00
kd-11
7eb5da73fe
Allow attrib padding for types that require expansion
2016-03-02 01:09:51 +03:00
Vincent Lejeune
32434dd848
rsx/common/d3d12/gl: Support for fog mode.
...
Fix hitman 2
2016-02-29 16:31:18 +01:00
Vincent Lejeune
a6ba47265f
rsx/common/gl: s32k is actually signed short unormalized.
...
gl fix
2016-02-27 00:21:12 +01:00
kd-11
c5b3359c4b
Remove normalization for natively normalized formats; fix cmp attribute type
2016-02-25 17:41:03 +03:00
kd-11
974ea68cf9
Always bind null for unused shader inputs
...
Properly rename index offsets to improve readability
Handle indexed and other array cases
2016-02-25 02:29:35 +03:00
Vincent Lejeune
5a14644cd4
rsx/common/d3d12/gl: Use span in vertex upload function.
2016-02-22 20:22:47 +01:00
kd-11
a451bb574e
Enable texture and render target caching for OpenGL
2016-02-17 16:00:23 +03:00
kd-11
3813c09be6
Properly handle inlined vertex data
...
Fix initial array offsets for dx12
2016-02-16 15:39:18 +03:00
kd-11
2230975e55
Speed up program constants upload by switching to glBufferSubData over glMapBuffer
...
Fix initialization for fragment constants buffer
Orphan buffers before update. Remove redundant binding
2016-02-15 12:53:55 +03:00
kd-11
ddf5b52360
Implement rectangle textures natively on OpenGL
2016-02-07 08:57:04 +03:00
kd-11
d3405da5c4
Fix LLVM build by changing variable to appropriate type
2016-02-05 18:57:57 +03:00
kd-11
137821c866
Move program validation from link-time to draw-time to compy with spec
2016-02-04 11:19:13 +03:00
kd-11
7b889a10cc
Add vertex texture buffers for VS input
...
Support vertex instancing in vertex shader using VertexID
Relax OpenGL requirements by removing 4.5 features
Use EXT version of TexBufferRange; Implement buffer copy using TexBuffer
Apply travis workaround by danilaml
Fix vertex upload in in case of inlined array
2016-02-03 13:38:23 +03:00
Vincent Lejeune
5f35f2ac7d
rsx/common/d3d12: Support for texture 1d too.
...
They are used in after burner climax
2016-01-30 01:13:15 +01:00
Vincent Lejeune
149fa9d750
rsx/common: Make RSXFragmentProgram key and not just pointer.
2016-01-27 23:16:06 +01:00
Vincent Lejeune
3bd2114815
rsx-debug: Dump windows origin/pixel center.
2016-01-27 22:41:19 +01:00
Nekotekina
7417033d7f
GLGSRender fix
2016-01-27 18:14:39 +03:00
Vincent Lejeune
24255f7883
rsx/common/d3d12/gl: Add some texture info to RSXFragmentProgram
2016-01-26 17:56:01 +01:00
Vincent Lejeune
4ce4cf5242
rsx: Add vertex input and output in RSXVertexProgram.
2016-01-22 01:24:54 +01:00
DHrpcs3
19ce0cdc09
rsx methods constants moved to rsx namespace
...
minor fix
2016-01-20 20:12:48 +03:00
DHrpcs3
7972cb5bdc
Code style fixes #1
2016-01-20 16:23:25 +03:00
Vincent Lejeune
3b4339c8e0
rsx: Use enum class for surface related regs
2016-01-15 23:44:27 +01:00
Vincent Lejeune
69272edba6
gl: Fix warnings and enable trat warning as error.
2016-01-13 23:53:11 +01:00
Nekotekina
38531459df
Logging system rewritten
...
GUI doesn't freeze anymore
Some things simplified
2016-01-13 18:54:57 +03:00
Vincent Lejeune
689dee9944
rsx/common/d3d12: Consider separate index range as a whole.
...
Fix Wolf of the Battlefield 3
2016-01-13 00:28:48 +01:00
Vincent Lejeune
bab52c132d
rsx/common/d3d12/gl: Clean ProgramStateCache
...
Use a_b_c format.
Use using =
Use tuple as output
Use RAII to delete program safely
Ensure const correctness.
2016-01-11 19:21:57 +01:00
Vincent Lejeune
d153575e59
rsx/common/d3d12/gl: Support for CMP/non pow of 2 size vertex formats.
...
Also use class enum for base_vertex_type everywhere.
Fix Bomberman Ultra color and Cubixx HD geometry.
2016-01-09 23:18:03 +01:00
DHrpcs3
3ac9e0933f
gl: fixed nv4097_clear_surface & front face selection
...
added window shader and clip plane constants to GCM.h
2016-01-06 13:30:25 +02:00
DHrpcs3
48919330d7
rsx methods moved from rsx thread
2016-01-06 13:30:24 +02:00
DHrpcs3
ba12c489ec
gl: using tiled region for read/write color buffers and flip
...
gl: fixed flip buffer row length
compilation fixes
2016-01-06 13:30:23 +02:00
DHrpcs3
dbccf5fbad
gl: fixed multiple textures binding
2016-01-06 13:30:23 +02:00
DHrpcs3
509bbddac1
OpenGL renderer: use pitch as image row length
...
Fixed rsx_utils code style
2016-01-06 13:30:23 +02:00
Vincent Lejeune
cae2d929ab
rsx/common/d3d12/gl: Implement draw inline array support
2016-01-05 00:31:47 +01:00
Vincent Lejeune
5f12a4f7b5
rsx/common/d3d12/gl: Use separate vertex array/vertex register states.
2015-12-30 17:04:34 +01:00
Nekotekina
3ed603074c
Changes done by [DH] rewritten
...
Added rsx_program_decompiler submodule
Added fs::dir iterator
Added fmt::match
2015-12-22 23:11:20 +03:00
DHrpcs3
ae83ab5436
GLTexture excluded from GLGSRender and renamed to rsx::gl::texture
2015-12-21 04:14:56 +02:00
Nekotekina
321e6d3a86
fs::get_config_dir, fs::get_executable_dir
2015-12-20 15:41:06 +03:00
Vincent Lejeune
6221fecf3b
common/d3d12/gl: Start implementing cubemap sampling
2015-12-16 20:36:34 +01:00
Nekotekina
f3311bb5e5
GL render crash fix
2015-12-04 23:37:36 +03:00
Nekotekina
ca6783ba9a
Threads improved, ID manager improved
2015-12-04 23:37:34 +03:00
Jake
178bcfc8df
rsx: Improve NV3089_IMAGE_IN_SIZE and use faster loop for swizzle conversions
2015-12-02 04:22:18 -06:00
Jake
8edf35a9e3
gl: remove incorrect/unneeded glenable enum
2015-12-02 04:22:16 -06:00
Vincent Lejeune
1e9d1c1dd9
gl: Uncomment viewport setting code
2015-11-29 18:22:53 +01:00
Vincent Lejeune
7a996648bb
gl: Use fill_gragment_constans_buffer
2015-11-28 20:41:30 +01:00
Vincent Lejeune
5447521ce5
gl: Use uniform buffer for transform constants.
2015-11-19 20:26:14 +01:00
Vincent Lejeune
e2d0a63b98
gl: Use factored scale offset function call
2015-11-15 22:52:39 +01:00
Nekotekina
a4db58f5f2
Added fs::file_ptr, fom::rewrite, cleanup
2015-11-14 20:26:40 +03:00
O1L
c0255208cc
Old ini-manager only partially used in VFS. Global configuration used as defualt.
2015-10-27 01:09:31 +04:00
Nekotekina
a974ee009e
vm::var improved, cleanup
...
Mostly vm::var initialization introduced.
Added vm::make_var function.
2015-10-14 18:17:37 +03:00
DH
a443682aaf
OpenGL renderer fixes
...
Fixed attributes loading
Fixed scale-offset matrix
Fixed attribute debug option
2015-10-14 14:34:55 +03:00
DH
4a55ba3067
OpenGL renderer improvements
...
Flush program cache at thread exit
Use cached locations
2015-10-14 03:16:39 +03:00
DH
37a3800597
rsx: 🧵 disable all vertex data at end command
...
Fixed OpenGL program attributes cache flush
2015-10-14 01:49:47 +03:00
DH
737080274a
Improved NV4097_BACK_END_WRITE_SEMAPHORE_RELEASE and NV4097_TEXTURE_READ_SEMAPHORE_RELEASE commands handling
2015-10-13 20:39:36 +03:00
DH
e4f6eb04e8
Added new config system
...
Added emulator state class
Added emulator events
Minor improvements
2015-10-13 20:32:08 +03:00
Vincent Lejeune
fc40b0ed6b
RSX: Let backend customize semaphore_*_release
2015-10-13 14:28:58 +02:00
Vincent Lejeune
a63fdf6c45
Use files from master
...
- Drop smart vertex storage and use OpenGL's one instead.
2015-10-13 14:27:17 +02:00
Vincent Lejeune
4154a1026f
Rename RSXThread
2015-10-13 00:04:19 +02:00
Vincent Lejeune
dd000caad7
Remove context_dma*
2015-10-13 00:04:18 +02:00
Vincent Lejeune
1e431edf09
Remove fragment program
2015-10-13 00:04:15 +02:00
Vincent Lejeune
67f1f0fea3
Remove fragment constants
2015-10-13 00:04:15 +02:00
Vincent Lejeune
beabc88f79
Remove transform constants
2015-10-13 00:04:14 +02:00
Vincent Lejeune
e086b7a522
Remove cull/front face
2015-10-13 00:04:13 +02:00
Vincent Lejeune
dd1afe85ae
Remove alpha func
2015-10-13 00:04:13 +02:00
Vincent Lejeune
60bccf0f10
Remove RSXVertexArray
2015-10-13 00:04:12 +02:00
Vincent Lejeune
73535e0c04
remove m_surface*
2015-10-13 00:04:12 +02:00
Vincent Lejeune
537187687d
Remove blend
2015-10-13 00:04:10 +02:00
Vincent Lejeune
403f585a19
Remove color mask
2015-10-13 00:04:10 +02:00
Vincent Lejeune
8dd19d1446
Remove color target
2015-10-13 00:04:09 +02:00
Vincent Lejeune
71552f7ffe
Remove logic Op
2015-10-13 00:04:09 +02:00
Vincent Lejeune
b2a7f0fd11
Remove stencil
2015-10-13 00:04:08 +02:00
Vincent Lejeune
529efd6ac8
Remove depth
2015-10-13 00:04:07 +02:00
Vincent Lejeune
ed61023dd3
Remove clear_surface_color
2015-10-13 00:04:07 +02:00
Vincent Lejeune
28cdfa9feb
Rename some methods.
2015-10-13 00:04:06 +02:00
Vincent Lejeune
bf474f0cdb
remove m_ for textures
2015-10-13 00:04:06 +02:00
Vincent Lejeune
d27f6c8fa7
Use rsx::limits values
2015-10-13 00:04:05 +02:00
Vincent Lejeune
6f71d04aa4
move linear to swizzle and get_size_type
...
symbol undef though
2015-10-13 00:04:04 +02:00
Vincent Lejeune
3de47c201c
RSX: Create a rsx namespace.
...
Put get_address inside.
2015-10-13 00:04:04 +02:00
Vincent Lejeune
e3e5b46cbf
Remove m_ prefix on some members of RSXThread
2015-10-13 00:04:03 +02:00
Vincent Lejeune
ceab44b9ab
d3d12: Remove D3DGSFrame
2015-10-13 00:04:02 +02:00
Vincent Lejeune
0138a95567
RSX: Remove using namespace ps3 in header
2015-10-13 00:04:02 +02:00
Vincent Lejeune
f483c3b9ca
Revert "Merge pull request #1245 from DHrpcs3/master"
...
This reverts commit 5feba39ff7 , reversing
changes made to ebf28f8da0 .
2015-10-09 20:04:20 +02:00
DH
cc0c3fc98d
Implemented fragment constants loading (OpenGL renderer)
...
Fixed nv308a::color
Minor improvements
2015-10-07 17:36:26 +03:00
DH
86720f90cd
rsx: 🧵 initialize flip_status
...
Fixed clear_surface (OpenGL)
Enabled some RSXDebugger features (disasm and textures/buffers view)
Minor improvements
2015-10-06 01:22:21 +03:00
DH
3721941ffb
Fixed OpenGL renderer crash
...
Temporary downgraded OpenGL requirements to OpenGL 3.1 (GLSL 1.40)
Fixed some D3D12 Renderer compilation errors
2015-10-05 18:40:22 +03:00
DH
4fdeeace66
D3D12Renderer: fixed some compilation errors
...
Removed GSFrameBase2 and D3DGSFrame.
Added frame for NullRender.
Minor improvements and fixes
2015-10-05 13:03:23 +03:00
DH
1c890f85c5
OpenGL: do not align buffers
2015-10-05 12:56:05 +03:00
DH
6cd62a9fd0
OpenGL: fixed nv4097_clear_surface implementation
...
minor improvements
2015-10-05 12:56:05 +03:00
DH
1e7ded2163
rsx::thread moved from rsx2 branch
...
TODO: cellResc module & RsxDebugger disabled, DX12 renderer not compilable
2015-10-05 12:56:05 +03:00
Vincent Lejeune
62d7bf2159
Common: Move generic upload texture code from d3d12
2015-10-03 18:25:18 +02:00
Nekotekina
8ae3401ffa
Some things improved
...
shared_mutex_t implemented
GUI Emu Callbacks rewritten
fxm::import, fxm::import_always implemented
cellMsgDialog rewritten
Emu.CallAfter improved (returns std::future)
2015-09-22 16:48:21 +03:00
Raul Tambre
8204737efa
Implement GetLicenseArea, category improvements
...
Also fixed newlines, CellSailEvent, fixed CellMusic changes, fixed
console_write, fixed L10n changes and removed the login dialog for now,
until a more proper implementation.
2015-09-13 10:26:01 +03:00
Nekotekina
5e14310071
noexcept usage fixed
...
thread_t renamed to named_thread_t
2015-08-24 21:22:48 +03:00
Nekotekina
ce494f8847
fmt::by_value, fmt::Format removed
2015-08-24 21:22:42 +03:00
Nekotekina
73b108765e
fs:: const renaming, fs::g_tls_error stub
2015-08-24 21:22:39 +03:00
Nekotekina
405d7cb70c
Revert "RSX: Fix NV3089"
...
This reverts commit a86e44deb4 .
Reasons: it's broken and not strictly related with d3d12 PR.
2015-08-16 18:37:20 +03:00
raven02
a86e44deb4
RSX: Fix NV3089
...
Make convert_swizzle.elf works
2015-08-12 00:26:50 +02:00
vlj
ca90c05b0a
gl : refix
2015-08-12 00:26:32 +02:00
vlj
744b56b12d
gl: Fix texture unswizzling
...
Fix multi texture test
2015-08-12 00:26:32 +02:00
Nekotekina
8f9e1100c8
SPU fixes, various fixes
2015-07-10 04:31:25 +03:00
Nekotekina
6f1e76198a
Some fixes
2015-07-10 04:31:18 +03:00
Nekotekina
3aefa2b4e1
ThreadBase rewritten (wip)
2015-07-10 04:31:16 +03:00
vlj
f4efeabcf3
RSX: Rename and document function member.
2015-07-03 17:08:06 +02:00
vlj
5abeec85cc
GL/RSX: Let backend call LoadVertex themselves.
2015-07-02 19:01:19 +02:00
vlj
288581cb43
RSX/GL/Null: Move semaphore handling to backend
2015-07-02 19:01:18 +02:00
raven02
e6df1ddcc0
Fix CELL_GCM_TEXTURE_CLAMP
...
It should be GL_CLAMP
2015-05-29 21:59:51 +08:00
vlj
2a7c65c019
GL: Use pipeline cache
2015-05-19 17:26:06 +02:00
Nekotekina
74b3580b69
rfile_t renamed
2015-04-25 00:38:11 +03:00