kd-11
3350e7ee55
rsx: Fixes for framebuffer setup code
2017-12-01 21:00:50 +03:00
kd-11
75d0ff177d
gl: Avoid null deref
2017-12-01 21:00:50 +03:00
kd-11
3bfdcf698d
rsx: More tuning for depth/color buffer selection
2017-12-01 21:00:50 +03:00
kd-11
51891039dd
rsx: improve depth/color contested memory allocation heuristics
...
- Needs more tests to prove correct behaviour
2017-12-01 21:00:50 +03:00
kd-11
07fe5f87ae
gl: Fix face winding
...
- Face winding is always calculated based off the top left corner
2017-12-01 21:00:50 +03:00
kd-11
de5a4fe083
rsx: Reimplement depth <-> RGBA reinterpretation code
...
- Implements proper channel order for fp24-ARGB8 conversion
- Takes swizzle remap into account when reconstructing source bytes
2017-12-01 21:00:50 +03:00
kd-11
5cf2d774f3
fp32 precision on GPUs is embarassing
...
- Division seems to suffer from drift easily on GPUs due to limited precision
2017-12-01 21:00:50 +03:00
kd-11
ccc0383f75
vulkan: Implement overlay shader passes
...
- Implements vk::overlay_pass and vk::depth_convert_pass
- Also added a sanity check in RSX core for depth replace shaders
2017-12-01 21:00:50 +03:00
kd-11
680ca1d12a
rsx: Zcull refactoring and vulkan implementation
2017-12-01 21:00:50 +03:00
kd-11
30269e5bad
rsx/gl: Use strict method of gathering the depth buffer bits
...
- Performance difference on modern GPUs is negligible
2017-12-01 21:00:50 +03:00
kd-11
07f61db24a
rsx: Try to take the context for the surface creation into account
2017-12-01 21:00:50 +03:00
kd-11
63f261a66d
rsx: Improve framebuffer check heuristics for contested memory buffers
2017-12-01 21:00:50 +03:00
kd-11
33f3a3e014
rsx: Major fixes
...
- Handle aliased depth + color target by disabling depth writes. This looks to be the correct way
- Add support for generic passes that cannot be done using general imaging operations. Lays the framework for tons of features and effects
- Implement RGBA->D24D8 casting. Sometimes games will split depth texture into RGBA8 then use the new RGBA8 as a depth texture directly
-- This happens alot in ps3 games and I'm not sure why. Its likely the ps3 did not sample fp values with linear filtering so this is a workaround
-- Only implemented for openGL at the moment
-- Requires a workaround for an AMD driver bug
2017-12-01 21:00:50 +03:00
kd-11
8646f51fa3
rsx: Add more validation to framebuffer setups. Game devs sometimes do crazy things
2017-12-01 21:00:50 +03:00
Zion Nimchuk
3a9ae2df9e
silence warnings in RSX stuff
2017-11-30 18:07:19 +03:00
kd-11
be6b5922dd
rsx: research native texel byte order on cpu readback (WCB) [WIP]
2017-11-20 15:18:57 +03:00
kd-11
b2a7eee1ec
rsx: Bump shader cache ver and fix blit engine crash
...
- Disables blit operations if the target will have a size of 0 in any dimension
- Bumps shader cache ver to 1.1
2017-11-09 14:39:50 +03:00
kd-11
4e9160104a
rsx/vk/gl: Cleanup and refector glsl::getFunctionImpl
...
- Both backends now generate very similar code
2017-11-08 13:15:34 +03:00
kd-11
242611aa46
gl/qt: Catch segfaults in wglDeleteContext with SEH (AMD windows driver)
...
- In rare cases the driver derefs a nullptr and dies, taking the emulator with it
- From testing, it seems the vram is indeed freed when this happens so its "safe" to continue
2017-11-08 13:15:34 +03:00
kd-11
3730b9d1da
rsx: More fixes
...
- Support for raster offsets in surface descriptors (looks to be unused)
- Do not tag disabled render targets when using MRT (pitch = 64)
- Add missing notify_surface_changed() call for openGL
2017-11-08 13:15:34 +03:00
kd-11
0d35363ea0
rsx: Minor optimization - dont update sampler state if texture state registers have not changed
2017-11-08 13:15:34 +03:00
kd-11
75504b3f5e
rsx: Rework context handling and stop leaking the GL ccontext
...
- GL contexts are external handles that require manual lifecycle management
2017-11-08 13:15:34 +03:00
kd-11
300a36d3d6
rsx: Fixes for cubemap reconstruction
...
- Do not abort generation if sides are missing, replace with blank surfaces instead
- Make cubemaps scale with res scaling
2017-11-08 13:15:34 +03:00
kd-11
60c7a508a7
rsx: Refactor create_subresource_view(deferred_subresource&) and implement a subresource cache
...
- This limits the number of times an image is copied and improves performance
2017-11-08 13:15:34 +03:00
kd-11
1fa18757fc
rsx: Implement render-to-cubemap; Also simplify unnormalized samplers [WIP, DELETE SHADER CACHE, VERY SLOW]
...
- Enables real-time cubemap reflections
- TODO: Vulkan is broke; rsx is very slow with this feature
2017-11-08 13:15:34 +03:00
kd-11
fbb7186e66
rsx/gl: Addendum - Fix fragment shader to consume texture scale parameters
2017-11-08 13:15:34 +03:00
kd-11
0961a43997
rsx: Implement 1D<->2D image type casts
2017-11-08 13:15:34 +03:00
kd-11
2385029eab
gl: Shift code around to increase work done after memory transfer operations
...
- The current code is slower because memory operations are too close to their draw calls
-- This is mainly an issue with proprietary AMD drivers
2017-11-08 13:15:34 +03:00
kd-11
eed55a446c
rsx: Minor optimization
...
- Defer resolving image copy operations to the binding step
2017-11-08 13:15:34 +03:00
kd-11
bbcb6b6851
rsx: Fbo fixes 2
...
- Use AA mode to predict surface compression. Compression mode is useless without AA activated
- Rewrites most image subresource fetch routines to use the new heuristic
- Fix rsx:🧵 :find_tile. FEED000(X) can be substituted for (X) in the code
-- Fixes alot of failures when looking for tiled regions
rsx: Fix antialiased unnormalized coords
- scaling factors are inverse to allow proper coordinates to be computed in fs
2017-11-08 13:15:34 +03:00
kd-11
b95630d84a
rsx: Minor fixups
...
- Optimize framebuffer memory invalidate conditions
- Fix texture sampling of AA textures (wider by 2x surfaces)
2017-11-08 13:15:34 +03:00
kd-11
af1d3c2aa6
rsx: Improve surface store resource management
...
- vk: Use frame testing to determine invalidated resources that can be safely deleted
2017-11-08 13:15:34 +03:00
kd-11
ec3e5c547f
rsx: More fixes
...
- Tag surface store to help determine when contents have been invalidated
- Crop framebuffer textures if they are not the requested dimensions!
2017-11-08 13:15:34 +03:00
kd-11
963a87fed5
rsx: Critical fixes
...
- Remove generic throws from the rsx pipeline. Stops the rsx thread from silently dying leaving the emulator in a hung state
- Hackplement add_signed and reverse_subtract_signed blend modes
2017-11-08 13:15:34 +03:00
kd-11
173d05b54f
rsx: Optimizations
...
- Reimplement fragment program fetch and rewrite texture upload mechanism
-- All of these steps should only be done at most once per draw call
-- Eliminates continously checking the surface store for overlapping addresses as well
addenda - critical fixes
- gl: Bind TIU before starting texture operations as they will affect the currently bound texture
- vk: Reuse sampler objects if possible
- rsx: Support for depth resampling for depth textures obtained via blit engine
vk/rsx: Minor fixes
- Fix accidental imageview dereference when using WCB if texture memory occupies FB memory
- Invalidate dirty framebuffers (strict mode only)
- Normalize line endings because VS is dumb
2017-11-08 13:15:34 +03:00
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
49f4da3016
rsx: Fixes
...
- vk: Always reopen primary command buffers. They should only be closed in flush_command_queue
- If uploading a texture and there are collisions with protected buffers, do not rebuild the cache
- Perform writes via flush before reprotecting pages that were not trampled
- Only flush no pages once
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
472cb3b1c2
gl: Check for vendor_string ATI for AMD cards. It seems AMD is still using the ATI openGL stack
2017-10-19 12:22:52 +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
eab9d06981
rsx: Texture cache fixes
...
- Fix src/dst framebuffer detection
- Silence some warnings
2017-10-13 15:23:48 +03:00
scribam
0129c54ab6
Move optional.hpp as a submodule
2017-10-12 18:00:24 +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
yzwduck
2e5f8c0786
Rename outputs correctly when writing default values to them ( #3574 )
...
- Fix for undeclared variable errors
2017-10-11 01:50:43 +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
fc0f98b5db
rsx: Res scaling improvements
...
- gl: Reintroduce the wcb hw downscaling
- rsx: Clamp scalable render target size with a config var
2017-10-09 20:25:41 +03:00
kd-11
3fe37ede97
rsx: Fixups
...
- gl: Remove redundant texstorage1D call
- gl: Disable the wcb scaling code as it doesnt work right yet [WIP]
- vk: Fix wcb reads
2017-10-09 20:25:41 +03:00
kd-11
6e8107a5cb
rsx: Implement AF override
2017-10-09 20:25:41 +03:00
kd-11
7bee4064a6
gl/wcb: Use temporary scaled image to implement bilinear filter
2017-10-09 20:25: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
b74cdcde00
rsx: Make the 3rd texture dimension matter
...
- Affects cube maps and texture3D surfaces
2017-09-23 16:46:41 +03:00
kd-11
dfc564f837
gl: Check that fence is not empty before calling destroy
2017-09-21 20:05:07 +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
571dbfb7b1
rsx: Texture cache improvements
...
- Limits buffer size to min 720 in the Y axis (1024 section causes conflicts in some cases - TODO)
rsx: Fixups to allow large textures for blit operation
- Also includes checks for both leaking sections and blit regions for vulkan
hotfix for hanging when using WCB
addendum - unlock both ro and no blocks before attempting to copy memory blocks
gl: Fixups for ARB_explicit_uniform_location
- Forces glsl v 430 to make use of the extension
rsx/vk: Rework texture cache to minimize recursive access violations
- Also modifies the vulkan commandbuffer begin/end/submit mechanism
gl: Fix cached_texture_section::is_flushable to take memory protection into account
rsx: Fix blit dst offset calculation
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
73312fc363
rsx: Several fixes and improvements
...
- Do not ignore non-centered pixel blitting
- Register method ac00+16
- Bump texture memory heap to account for GPU texture scaling requirements (vulkan)
- Explicit MRT location index output to better convey intent (openGL)
2017-09-21 16:17:06 +03:00
kd-11
deb590cb05
rsx/vk: Bug fixes
...
- Make each frame context own its own memory
- Fix GPU blit
- Fix image layout transitions in flip
vk: Improve frame-local memory usage tracking to prevent overwrites
- Also slightly bumps VRAM requirements for stream buffers to help with running out of storage
- Fixes flickering and missing graphics in some cases. Flickering is still there and needs more work
vk: Up vertex attribute heap size and increase the guard size on it
vulkan: Reorganize memory management
vulkan: blit cleanup
vulkan: blit engine improvements
- Override existing image mapping when conflicts detected
- Allow blitting of depth/stencil surfaces
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
fe5828cb47
rsx: Implement QUAD_STRIP
...
- QUAD_STRIP evaluates to TRIANGLE_STRIP in memory. The memory layout is identical.
- The only difference between the two modes would be the primitive_ID but that doesnt matter on RSX
- Its worth noting that results will be different between the two modes if input vertices are non-coplanar for every set of N verts
2017-08-26 21:53:54 +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
Danila Malyutin
9d1aebce74
Silence some obvious warnings
...
Makes travis logs a bit cleaner
2017-08-18 23:09:52 +03:00
kd-11
650c1c64f1
gl: Workarounds for intel GPUs which dont seem to be truly GL4 compliant
2017-08-16 23:58:30 +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
00b0311c86
rsx/gl/vulkan: Refactoring and partial vulkan rewrite
...
- Updates vulkan to use GPU vertex processing
- Rewrites vulkan to buffer entire frames and present when first available to avoid stalls
- Move more state into dynamic descriptors to reduce progam cache misses; Fix render pass conflicts before texture access
- Discards incomplete cb at destruction to avoid refs to destroyed objects
- Move set_viewport to the uninterruptible block before drawing in case cb is switched before we're ready
- Manage frame contexts separately for easier async frame management
- Avoid wasteful create-destroy cycles when sampling rtts
2017-08-16 23:58:30 +03:00
kd-11
6a707f515e
vk/gl: Factorize shared GLSL code
...
- prep vulkan for shared glsl backend
2017-08-16 23:58:30 +03:00
kd-11
c0409a819e
gl: Workaround for depth/color format mismatch when using hardware blit
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
ce437eb8d2
gl: Properly initialize pipeline properties
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
kd-11
7ab1792ef7
rsx: Implement conditional locks
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
mp-t
607d2486ea
Code review ( #3114 )
...
* Fix always-true conditions in sceNp module
* gl_render_targets: useless check on unsigned variable, possible bug
* fixed UB in crypto utility functions
* copy-paste error in vk::init_default_resources
* pass strings by const ref
* Dont copy vectors. Make sure copies are not needed because functions are used in a multi-threaded context.
2017-08-01 20:22:33 +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
df8fa74e2a
vulkan hotfix ( #3046 )
...
* Rework vertex attribute binding for vulkan. Allows always providing a buffer view to the pipeline even if the game has the attribute disabled as long as it is consumed by the vertex shader.
2017-07-22 01:54:28 +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
kd-11
f69121116a
rsx/vk: Optimize framebuffer lifetime management
...
- Significant gains due to avoiding aggressive create-delete cycles every frame
2017-07-19 23:28:33 +03:00
scribam
2d037fa130
Remove "#pragma once" directive in a cpp file
2017-07-14 01:46:07 +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
a69f19a9ab
rsx/decompilers: Avoid std::endl like the plague. It adds extra processing overhead
2017-06-29 13:13:19 +03:00
kd-11
9cb58a47cd
gl: Avoid creating surface copies when strict mode is disabled.
2017-06-29 13:13:19 +03:00
kd-11
8a0f6f1cbc
gl: Fix legacy ring buffer address alignment
...
- Should always return a base address aligned to the buffers alignment.
- Fixes renderdoc crashes when capturing
2017-06-29 13:13:19 +03:00
kd-11
1887e2460f
rsx: Use loose memory protection on textures since they're almost guaranteed to be wholly moved when changing. Speedup.
2017-06-29 13:13:19 +03:00
kd-11
6e578c4fde
rsx: Initialize declared but unset varying variables to all ones
2017-06-29 13:13:19 +03:00
kd-11
47e5074dc5
rsx: Emulated index buffers are based on vertex 0 with no disjoint ranges
...
- Drop the 'first' argument as it is unused for now
2017-06-29 13:13:19 +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
84ae1c5214
gl: Silence log spam
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
30f276a49b
gl: Properly emulate signed normalized wide integers
...
Another fix for signed normalized formats; single component vectors are swizzled
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
75964c686f
rsx/gl/vk: Fix some warnings and whitespace issues (LF vs CRLF)
2017-06-22 23:36:15 +03:00
kd-11
0cb6dee474
vk/gl: Do not sample currently bound render targets
...
- Create temporary copies for use with the draw call instead
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
110974af0b
vk/gl: Fix sampling of shadow2D textures
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
b50d5107b3
rsx/vk/gl: Minor fixes
2017-06-22 23:36:15 +03:00
kd-11
6a9eef0382
rsx/gl/vk: Enable use of native PCF shadows
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
701728ecd7
rsx: Fix depth-as-rgba read in fp
2017-06-22 23:36:15 +03:00
kd-11
9aa632bcc1
rsx/vk: Fixes for ring buffer allocation and image clipping ( #2850 )
2017-06-10 23:32:17 +03:00
kd-11
860b76452f
vulkan bringup on linux
...
cleanup: drop unused stuff
2017-06-08 19:08:44 +03:00
kd-11
d5df4a4616
rsx/fp/gl: Minor fixes ( #2823 )
...
* rsx/fp: expand glsl unpack instructions to vec4
* rsx/fp: Ignore BRK outside LOOP/REP
* fix string compare typo
2017-06-01 15:53:25 +03:00
kd-11
0efc3c1c6c
rsx: Relax restriction on vertex register data fetch
2017-05-22 14:28:33 +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
c26607de08
gl: Strict export of diff_color and spec_color for mesa compatibility ( #2779 )
...
* gl: Strict export of diff_color and spec_color for mesa compatibility
* gl: Relax the front_diff/spec rules a little
2017-05-14 11:50:24 +03:00
shameful
e93c4c42b6
fix for shader fog mode exponential2_abs ( #2781 )
...
* Update VKFragmentProgram.cpp
added missing exponent parameter
* fixed misplaced exponent in VKFragmentProgram.cpp
parameter that belonged to pow() was being passed to exp() instead, causing the shader compilation to fail
* fix for opengl fog_mode exponential2
same fix as the vulkan version
* directx fog_mode exponential2 fix
misplaced parameter
* directx fog_mode exponential2_abs fix
* vulkan fog_mode exponential2_abs fix
* opengl fog_mode exponential2 fix
2017-05-14 12:56:24 +08:00
kd-11
d24ba0da90
gl: Workaround to detect opengl driver caps for intel
2017-05-12 20:10:03 +03:00
kd-11
7460bdfb1b
gl: Use strict vertex output declaration for better compatibility with mesa
2017-05-12 20:10:03 +03:00
kd-11
c5975d5f66
rsx: Vertex program output fixes
2017-05-12 20:10:03 +03:00
kd-11
e1a75deb25
rsx: Refactor image scaling code; Scale downloaded surfaces with vulkan
2017-05-10 21:50:14 +03:00
kd-11
fd754a4ddc
vulkan: Start work on buffer synchronization
...
addendum - fix build
vulkan: separate cached section lifetime management
bug fixes
2017-05-10 21:50:14 +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
0fba38f691
gl: Fix legacy clamp mode ( #2612 )
2017-03-30 19:37:49 +03:00
kd-11
ad12900397
gl: Force alignment of DXT textures
2017-03-29 23:06:17 +03:00
kd-11
909f3e9b3e
rsx: Support indexed immediate draw via ArrayElement method
2017-03-29 23:06:17 +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
5b0fddd3e8
gl/vk: Fix stencil ops
2017-03-25 15:07:43 +03:00
kd-11
f7d767d0e8
gl/vk: Fix projected coordinate lookup on a cubemap sampler
2017-03-24 09:30:23 +03:00
kd-11
8fa3f0721e
fix false alphakill flags when texture fetch is optimized away
2017-03-24 09:30:23 +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
818dd88390
gl/vk: Ignore invalid texture uploads
2017-03-13 23:40:34 +03:00
kd-11
be4bb48476
rsx/fp: Fix some decompiler bugs
2017-03-13 23:40:34 +03:00
Nekotekina
1ede0f4706
Minor optimization
2017-03-13 15:02:18 +03:00
Nekotekina
78703cfe47
Use utils::memory_protect
2017-03-13 13:16:22 +03:00
kd-11
fa6114719d
gl: Lower restriction on render target pitch
2017-03-13 12:44:28 +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
1e71285de8
gl/vk/dx12: Implement forced channel remapping
...
gcc fix
2017-03-06 14:34:29 +03:00
Nekotekina
19a698682b
Compilation fix (mingw)
2017-03-05 19:00:08 +03:00
kd-11
b8fcbb68b0
gl/vk/cache: Fix invalidating intersecting and overlapping memory regions
...
whitespace fix
2017-03-01 14:00:06 +03:00
kd-11
10e218e224
Fix linux build (travis-ci)
2017-03-01 00:40:52 +03:00
kd-11
69d044cd8d
gl: Relax requirement to EXT_DSA from ARB_DSA to better support linux
2017-03-01 00:40:51 +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
cee53fcecf
gl: Ensure correct sized pbo is created upon reset
2017-03-01 00:16:55 +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
Ani
5605b4ee70
Fixes #2399
...
Defaults dGPU on NVIDIA Optimus systems and requests High Performance
mode on AMD systems.
2017-02-17 02:07:42 +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
Nekotekina
d4c3905355
Debug build fix
2017-01-28 15:32:45 +03:00
O1L
778199ceb1
Added missing stencil op
2017-01-23 23:49:17 +03:00
O1L
6b48a72d42
GL: fixed user clip implementation
2017-01-23 23:49:17 +03:00
kd-11
a1e725ffeb
gl: Decode dxt textures to a staging buffer
2016-12-15 14:36:28 +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
raven02
44b8556dc6
Vulkan: fix G8B8 texture swizzle ( #2181 )
2016-10-01 17:02:10 +08:00
kd-11
1c9718389f
gl/vk: Vertex attribute uploading and texture swizzle fixes ( #2174 )
...
* gl/vk: Properly upload vertex attributes
* vk: Fix cmp type
* vk: Remap all texture formats
2016-09-29 15:16:00 +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
38562155d4
gl/vk: Flip wpos if origin != top
2016-09-28 07:22:45 +08:00
kd-11
4f74cbe510
gl: Reverse cull face when origin == top ( #2161 )
2016-09-27 15:34:01 +08:00
raven02
528b2d6c7b
GL/Vulkan: not discard fragment when hits NEVER comparsion ( #2156 )
...
GL/Vulkan: return no operation when comparison is never
2016-09-26 21:59:38 +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
0d207a6c0d
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
2016-09-21 21:41:29 +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
raven02
530ea688e4
GL: old recompiler clean up ( #2142 )
2016-09-18 13:19:26 +08:00
vlj
8d54bcbc0d
rsx: Use variant based draw commands.
2016-09-17 23:37:52 +02:00
vlj
03c86ae43b
rsx: Move inline array to draw_clause structure.
2016-09-17 23:37:52 +02:00
Oil
153a2d2b40
Fixed fog and alphakill implementation in glsl (based on DH's old commits) ( #2137 )
...
* Fixed NV4097_SET_COLOR_CLEAR_VALUE
* Fixed fog and alphakill implementation in glsl (based on DH's old commits)
2016-09-14 22:47:53 +08:00
vlj
11858dce1a
rsx: Vertex array attributes don't need to be stored outside of regs.
2016-08-27 15:40:41 +02: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
6e07e07cd0
GL: enable 2-sided lighting ( #2103 )
2016-08-27 00:26:23 +08:00
raven02
a270ac7f02
GL: re-use common fp/vp decompiler ( #2100 )
2016-08-26 22:23:23 +08:00
Vincent Lejeune
42b518cf7e
rsx: use range for vertex buffer attribute.
2016-08-24 21:58:59 +02:00
raven02
5b225ad59f
GL: ignore texture upload if invalid dimension found ( #2097 )
2016-08-24 21:19:16 +08:00
kd-11
8ebe9d7dc2
gl: Dont use hard assertions on error, driver reporting is so much better ( #2094 )
2016-08-24 17:31:27 +08:00
Nekotekina
84d0d396ed
EXPECTS usage removed
2016-08-15 16:29:38 +03:00
Nekotekina
cc46f2d7e6
LOG macro improved
2016-08-15 00:04:42 +03: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
Vincent Lejeune
7a6f5b6ee5
rsx: Move index pointer generation in rsx::thread.
2016-08-05 17:54:44 +02:00
raven02
8ff155a2c9
Regression fix #2029 ( #2030 )
2016-08-05 14:38:58 +08: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
47a9c8d731
vk/gl: bug fixes ( #2018 )
...
* vk: use null sampler for invalid/broken texture configurations
* gl: Do not consider 32_BIT_EXPORTS flag for depth writes
2016-08-04 03:33:52 +08:00
Lena
e377199e41
Ensure the 'shaderlog' directory exists ( #1986 )
...
Should fix #1984
2016-07-26 00:15:14 +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
Vincent Lejeune
e9bee80f4b
rsx: Use register_decoder for vertex attributes.
2016-07-19 20:28:32 +02: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
kd-11
59df7e7104
glsl: not all shaders write to col0 ( #1884 )
...
fix typo
2016-07-11 09:05:13 +08:00
kd-11
bbf7e6332c
glsl; dump shaderlog ( #1883 )
...
fix typo
2016-07-11 01:16:31 +08: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
raven02
7779742ac1
GL: fix few texture swizzle remap ( #1823 )
...
* GL: fix few texture swizzle remap
* GL: add texture format HILO8 & HILO_S8
* VK: add mapping for X32_FLOAT
2016-06-25 20:15:10 +08: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
e83c387ebe
OpenGL renderer: Fixed texture bias setup.
2016-06-21 19:56:05 +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
28a5d4d4f0
Add a workaround for a khronos spec bug
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
40a598b0ab
gl/vk: Quickly ignore access violations outside cache range
2016-06-14 00:08:23 +03:00
raven02
ea528a1ced
Write shader log in seperate directory ( #1755 )
...
Write shader log in separate directory
2016-06-13 19:53:50 +03:00
kd-11
3956b21cb7
vk/gl/dx12: Dynamic cb flush for vulkan; fix glsl/hlsl vertex shader generation for some games; dx12: ignore fbo textures during flip if no surface target is set ( #1766 )
...
* gl/vk/dx12: Fix vertex shader code generation for buggy games
dx12: revert vsh attribute changes
* vk: dynamically flush command buffers if we exceed available resources
* dx12: do not prepare flip texture if it has not been initialized
2016-06-11 16:24:27 +03:00
kd-11
4260f68f85
gl/vk: Fix ub256 and s32k vertex attributes; silence some unnecessary debug errors ( #1757 )
...
* gl/vk: Sample integer attribs with integer samplers
* gl: silence useless DPRINTs where behaviour has already proven correct
2016-06-08 12:39:08 +03:00
kd-11
c4102f3b18
vk/gl: Enable alpha test in shaders ( #1743 )
2016-06-05 20:31:23 +03:00
raven02
39767b8d46
Texture bias minor fix ( #1745 )
2016-06-04 19:12:14 +03:00
raven02
e5a792515e
GL: set texture bias ( #1742 )
2016-06-04 14:41:53 +03:00
raven02
8f67c910ab
FP: Implement REFL and LRP ( #1712 )
2016-06-04 10:23:45 +03:00
kd-11
dc970c513a
gl: Respect more requested surface format configurations
2016-06-03 17:07:48 +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
raven02
ee645d054d
GL/Vulkan: Implement DP2A ( #1708 )
2016-06-02 13:07:43 +03:00
raven02
fc1408e643
FP: Implement texture lookup with explicit gradients ( #1706 )
2016-05-29 18:33:41 +03:00
raven02
214d3d0f1a
GL/Vulkan: write shader program log as .glsl and .spirv ( #1720 )
...
* GL: write shader program log as .glsl
* VK: write shader program log as .spirv
2016-05-26 21:47:37 +03:00
Nekotekina
266db1336d
The rest
2016-05-23 16:22:25 +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
Ivan
75fe95eeb1
GSL moved from stdafx.h ( #1676 )
...
Added GSL.h helper for correct including
2016-04-20 02:32:27 +03:00
Nekotekina
b85a68e8a1
Partial commit: RSX
2016-04-15 19:22:36 +03:00
Raul Tambre
7c1ab47262
Fix OpenGL crash ( #1668 )
2016-04-08 22:18:46 +03:00
Vincent Lejeune
3a3d264cb5
rsx/common/d3d12/gl/vulkan: Set dst stride in write_vertex_array_data_to_buffer.
2016-04-07 22:17:28 +02:00
Vincent Lejeune
2ae5a7ff39
rsx/common/d3d12/gl/vulkan: Use single overload for write_index_array_data_to_buffer.
2016-04-07 22:17:28 +02:00
Raul Tambre
3ee56627eb
DX12 texture format fixes and improvements
2016-04-07 21:34:32 +03:00
kd-11
dab1dda903
Specify buffers to read when blitting output to backbuffer
2016-04-06 11:16:49 +03:00
kd-11
1a61ef0440
Remove deprecated features from core profile
2016-04-06 11:16:49 +03:00
Vincent Lejeune
99717b7902
gl: Fix vertex buffer size.
2016-04-02 18:27:49 +02:00
Vincent Lejeune
bad2d7f121
gl: Move vertex setting in a separate file.
2016-04-02 18:27:49 +02:00
Vincent Lejeune
d59486295d
gl: Supports 1D and 3D textures.
2016-04-01 00:52:51 +02:00
Vincent Lejeune
4c0b5bbc62
gl: Correctly upload cubemap texture.
2016-03-31 00:15:19 +02:00
Vincent Lejeune
51a6862bf4
gl: Use right texture target.
2016-03-31 00:15:17 +02:00
Vincent Lejeune
b6c827b17a
gl: Fix r5g6b5 format.
2016-03-31 00:12:41 +02:00
Vincent Lejeune
17c4b2387e
gl: Fix unnormalized coord sampling.
2016-03-31 00:12:41 +02:00
Vincent Lejeune
73233fd347
rsx/common: Use typed class for texture filters.
2016-03-30 20:03:50 +02:00
Vincent Lejeune
d971c4e0f6
rsx/common: Use typed enum for max anisotropy.
2016-03-30 20:03:50 +02:00
Vincent Lejeune
7f25720bd3
rsx/common: Use a typed enum for texture wrap mode.
2016-03-30 20:03:50 +02:00
Vincent Lejeune
855d6935d9
gl: Enable core context and debug output.
2016-03-27 03:45:30 +02:00
Vincent Lejeune
9485fe2693
rsx/common/gl/d3d12/vulkan: Use exact mimap counts.
...
Fix invalid textures in gl backend.
2016-03-25 21:37:53 +01:00
kd-11
a120414d32
Set render target textures to clamp to border by default
2016-03-24 10:52:35 +03:00
Vincent Lejeune
23a0116975
gl: Expand index for quads/quad_strip/triangle_fan
2016-03-22 21:39:00 +01:00
AnnieL
afefecf1f0
Moves GL, minidx12, OpenAL, stblib to 3rdparty
...
Moves GL, minidx12, OpenAL, stblib to 3rdparty
Fixes AppVeyor and CMakeLists (travis-ci.yml doesn't need any changes)
Points directories in the VS solution files to the new ones on the
externals directory
Includes stuff with the < > syntax instead of " "
2016-03-20 22:20:23 +00:00
Vincent Lejeune
5de70628d7
rsx/common/d3d12/gl/vulkan: Unify texture upload code.
2016-03-14 19:10:51 +01:00
kd-11
d9dbb1565a
Immutable textures cannot be reused!
2016-03-14 18:14:06 +03:00
kd-11
ee0eb70de4
Clean up invalidated resources
2016-03-09 21:11:22 +03:00
Vincent Lejeune
9e01f2817f
gl: Use less costly glTexStorage2D instead of glTexImage2D.
2016-03-05 22:04:28 +01:00
Vincent Lejeune
8831bd0918
gl: Factorize code in rsx_gl_texture.cpp
2016-03-05 22:04:28 +01:00
kd-11
a880ce89d1
Checks for texture completeness, remove legacy GL_GENERATE_MIPMAP used wrongfully
2016-03-05 22:19:33 +03:00
Vincent Lejeune
1dcc6858b4
d3d12/gl: Separate fog distance and fog frag in fogc input.
2016-03-05 18:25:31 +01: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
8d3235cd7c
Properly set up fog parameters for openGL
2016-03-03 01:07:53 +03:00
kd-11
094c4057be
The lod parameter is a single float value
2016-03-02 18:34:13 +03:00
kd-11
7eb5da73fe
Allow attrib padding for types that require expansion
2016-03-02 01:09:51 +03:00
Vincent Lejeune
0ed770633b
gl: Add texture3d sampling function
2016-02-29 19:47:06 +01: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
Vincent Lejeune
62246f75c8
d3d12/gl: Supports SSA in Fragment Shader.
2016-02-27 00:21:10 +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
Vincent Lejeune
1675a82efd
rsx/common/d3d12/gl: Use gsl::span in TextureUtils.cpp
...
* get_placed_texture_storage_size returns more accurate result (fix crash in Outrun)
* Factors lot of code and use integer type more carrefully
* Treat warning as error in TextureUtils.cpp
2016-02-16 18:08:22 +01: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
Vincent Lejeune
1f7a1e4078
rsx/common/d3d12/gl: Fix lit and rsq behavior near 0 in vertex shaders.
2016-02-08 17:35:49 +01: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
kd-11
660f491310
Rework OGL texture swizzles;
...
Decode textures using TextureUtils
Shut compiler up about missing return value (unsure)
Revert "Shut compiler up about missing return value (unsure)"
This reverts commit db43ba448776e6c0d6c90909b4037b6f698a545c.
Change some functions in rsx::gl::texture to static.
Replace large switch block in gl::textures::mandates_expansion with simple if tests
2016-02-01 20:11:33 +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
6aac972bda
d3d12/gl: Use r1 as depth output.
...
The "Output_from_h0" flag seems to concern color output.
There might be another flag for depth from half float value.
2016-01-19 00:45:26 +01: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
Nekotekina
b3e3c68f15
File utility improved
...
+ minor fixes
2016-01-13 14:12:04 +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
4ef76866a5
rsx/common/d3d12/gl: Support texture lod sampling.
2016-01-10 00:16:26 +01:00
Vincent Lejeune
675ccd4510
rsx/common/d3d12/gl: Mimic divsq and rsq fragment instruction behaviour with 0.
...
Fix Super Puzzle Turbo HD 2 and SH3 HD
2016-01-09 23:18:05 +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
3ca634138d
Fixed conflict with X11
...
Added tmp folder to gitignore
2015-12-21 08:48:33 +02:00
DHrpcs3
d8bef46c2a
Do not use global static variables in headers
2015-12-21 05:35:56 +02:00
DHrpcs3
ae83ab5436
GLTexture excluded from GLGSRender and renamed to rsx::gl::texture
2015-12-21 04:14:56 +02:00
DHrpcs3
7416fe91fc
Fixed crash on start if config does not exists
...
Cleanup OpenGL renerer
2015-12-21 03:28:07 +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
Vincent Lejeune
929f518ef3
rsx/d3d12/gl: Make output write backend dependent.
2015-12-16 20:36:31 +01:00
Vincent Lejeune
6fae5863cf
common/d3d12/gl: Add support for textureProj
2015-12-16 20:36:29 +01:00
Nekotekina
24128ba450
Optimization
2015-12-04 23:37:42 +03: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
399478c2cd
gl: Use const and ref for loops in GLFragmentProgram.cpp
2015-11-29 18:20:43 +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
Nekotekina
5f6caf33f0
MINGW64: Compilation fix
2015-11-16 19:12:51 +03: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
Vincent Lejeune
b0f8611f49
Common/GL/D3D12: Fix int vector ctor in vertex shader and a compare opcode.
2015-10-15 17:13:42 +02: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
6cb036d35f
Fix for gcc/clang build
2015-10-08 00:05:04 +03: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
Vincent Lejeune
9c24bb9d75
RSX/D3D12/GL/Null: Notify backend of program/state change
2015-08-26 18:45:57 +02: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
c3e19f34fa
gl: sampler2d are constants
2015-08-12 00:26:33 +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
Danila Malyutin
5ae6586803
Add missing override specifiers
2015-07-26 18:37:14 +03: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
2dbac65613
GL: Fix output swizzling for fog and clip distance
2015-05-24 17:09:05 +02:00
Vincent Lejeune
669a54d071
GL: Factorise getFloatTypeName, getFunction and compareFunction between Fragment and Vertex Decompiler
2015-05-23 20:45:10 +02:00
raven02
79cb025d25
RSX : factorize DPH
2015-05-23 20:45:09 +02:00
raven02
67e8e0a367
RSX: DP2A for fragment decompiler
2015-05-23 20:45:09 +02:00
vlj
df794b88b0
GL: Use decompiler common class
2015-05-23 20:45:08 +02:00
B1ackDaemon
2a6f11b390
Merge pull request #1089 from vlj/gl
...
Store Vertex/Fragment program in a hashtable and do not rebuilt FP if a constant changes
2015-05-23 02:53:48 +03:00
Vincent Lejeune
7a5c8dd586
GL: Remove unused calls to glGetError()
2015-05-22 19:43:32 +02:00
B1ackDaemon
d5ead0d315
Merge pull request #1091 from vlj/shader-fix
...
gl: Fix swizzle for DIVRSQ, COS, SIN in fragment shader
2015-05-21 19:13:46 +03:00
raven02
d0c2addf91
gl: Fix IFE instruction
...
This fixes the rsx_fp_static_test4.ppu.elf
2015-05-21 22:34:51 +08:00
vlj
d58188d7ba
gl: Fix swizzle for DIVRSQ, COS, SIN, EXP2, LOG2 in fragment shader
...
This fix rsx_fp_static_test2.ppu.elf, rsx_fp_static_test3.ppu.elf, rsx_fp_static_test5.ppu.elf.
Likely rsx_fp_dynamic_test2.ppu.elf too
2015-05-20 19:31:21 +02:00
vlj
2a7c65c019
GL: Use pipeline cache
2015-05-19 17:26:06 +02:00
Nekotekina
f92c10ef71
Minor fixes
2015-05-08 12:45:21 +03:00
Nekotekina
74b3580b69
rfile_t renamed
2015-04-25 00:38:11 +03:00
Nekotekina
56c64c8045
VFS::CreatePath fixed, bugfixes
2015-04-20 18:53:31 +03:00
Nekotekina
ab405901ee
wxFile removed (rFile -> rfile_t)
2015-04-19 16:19:24 +03:00
raven02
9954b36ec7
Fix intel HD graphics crash
2015-03-18 22:30:47 +08:00
raven02
9b41f846d6
Disable glDepthBoundsEXT for Intel HD graphics
2015-03-18 06:05:32 +08:00
Nekotekina
d234493b4a
Compilation fix
2015-03-07 01:58:42 +03:00
O1L
99ea666bf2
Implemented binary vertex program disassembler
2015-02-23 16:22:30 +04:00
O1L
4d27198ad7
Conflicts fixed
2015-02-22 20:06:42 +04:00
O1L
e84f356a29
Implemented binary fragment program disassembler
2015-02-22 18:47:12 +04:00
Raul Tambre
e2d2c9d377
Fix stacksize
2015-02-20 15:55:00 +02:00
Raul Tambre
948758f758
Merge remote-tracking branch 'upstream/master' into Things
2015-02-20 12:59:31 +02:00
Raul Tambre
4b516273f6
Implement cellSaveDataListAutoLoad, fix textureProj
2015-02-19 22:56:57 +02:00
Raul Tambre
4ad91a6fa8
Merge upstream
2015-02-19 17:15:21 +02:00
Raul Tambre
39cf935929
Minor formatting in GLProgram
2015-02-19 17:10:21 +02:00
Raul Tambre
714ff6c32e
Update GLEXT.h to revision 29735
2015-02-18 11:39:56 +02:00
Nekotekina
267de68441
Memory cleanup, page flags implemented
...
RSXCMDMem, SPRXMem, MmaperMem removed
MainMem range fixed
2015-02-13 17:04:03 +03:00
Nekotekina
384cb5e415
RSX "refactoring" reverted
2015-01-31 16:01:34 +03:00
Raul Tambre
94c81c73c5
Implement more FP instructions
2015-01-24 21:30:36 +02:00
raven02
2c98a37512
Init: switch to version 420 layout (binding = 0)
2015-01-19 04:42:46 +08:00
raven02
546619ee24
VP: switch to version 420
2015-01-19 04:42:00 +08:00
raven02
7880753099
FP: switch to version 420
2015-01-19 04:41:22 +08:00
DHrpcs3
1bf9e41c26
Forgot this one
2015-01-18 13:16:24 +02:00
DHrpcs3
482d470bf2
Small RSX fixes
...
- Fixed constants offset in FP decompiler.
- Fixed vertex textures initialization.
2015-01-18 12:51:30 +02:00
Nekotekina
1c4e89d2bf
Formatting fixes, ToBE() replaced with data()
2015-01-13 17:54:36 +03:00
raven02
12edfeb216
RSX : last few cmd refactoring
2015-01-05 04:08:26 +08:00
raven02
d2e6f6fef0
RSX : few more cmd refactoring
2015-01-04 01:00:56 +08:00
raven02
fffadb975b
RSX : inline fragment naming as vertex shader
2015-01-02 08:06:42 +08:00
raven02
8616d340bb
RSX: create depth buffer only when required
2015-01-01 22:54:46 +08:00
raven02
a7ca705552
RSX: add alpha func/ref , depth func/mask and bug fix
2015-01-01 12:31:40 +08:00
raven02
3e3665a13b
RSX: refactor glEnable cmd
2014-12-30 23:44:08 +08:00
raven02
1b87f9312b
RSX : add ClearColor() / ClearStencil() / ClearDepth() / ClearSurface()
2014-12-30 03:37:58 +08:00
raven02
24a19a0dd9
format fix
2014-12-29 06:42:08 +08:00
raven02
51c107656f
Temporary disable BRI instruction
2014-12-29 06:39:00 +08:00
raven02
06907cb942
format fix
2014-12-29 06:37:32 +08:00
raven02
b81e0f9e4c
Remove duplicate code
2014-12-29 06:22:54 +08:00
raven02
4907dedf69
RSX: Implement LIT instruction
2014-12-29 06:21:34 +08:00
Raul Tambre
108e879266
Fragment Program improvements and additions
...
+ Added TODOs for REFL, LIT, LRP, BEM, TEXBEM and TXPBEM
- Removed the warning message about TEX_SRB texture projection being
used
* Implemented packSnorm2x16, unpackSnorm2x16, packSnorm4x8 and
unpackSnorm4x8. All need more testing to be confirmed as working
2014-12-28 09:53:01 +02:00
Raul Tambre
240c209360
Fix TXB instruction
2014-12-27 11:00:44 +02:00
Raul Tambre
1bde52623b
Fragment Program improvements
...
* Implement TXP (Needs testing)
* Implement TXB
* Implement TXL
2014-12-26 17:56:55 +02:00
DHrpcs3
e1ea7a28c3
Fixed condition decompilation in vertex & fragment shaders
...
Added 30 & 60 modes to frame limiter
2014-12-22 01:10:22 +02:00
raven02
c76dd371f3
RSX: vertex data regression fix
2014-12-21 01:13:10 +08:00
raven02
3fc471eb32
RSX: shaders fix and vertex texture implementation
2014-12-17 22:01:59 +08:00
raven02
e27a1f98aa
Fix missing break
2014-12-16 22:52:43 +08:00
raven02
c0b4bf2f94
log error for unimplmented fpcode
2014-12-14 23:21:41 +08:00
raven02
96a992fadb
enum sca_opcode and vec_opcode
2014-12-14 23:10:48 +08:00
raven02
32aa5ad415
RSX : enum vec_opcode & sc_opcode
2014-12-14 23:09:44 +08:00
raven02
1b6bd42201
Minor fix
2014-12-14 00:39:28 +08:00
raven02
4967771df5
Add std::set<int> m_jump_lvls
2014-12-14 00:19:06 +08:00
raven02
a5705d3308
VP: Fixed BRI, Experimental BRA implementation
2014-12-14 00:17:23 +08:00
DHrpcs3
d593e47554
RSX: Fixed NV4097_SET_VERTEX_DATA4UB_M, NV4097_SET_VERTEX_DATA2F_M & NV4097_SET_VERTEX_DATA4F_M implementation
2014-12-02 00:02:05 +02:00
raven02
cd347fa110
Minor fix
2014-11-18 14:44:37 +08:00
Nekotekina
6df5ddb973
Few warnings fixed
2014-10-24 17:24:09 +04:00
Raul Tambre
9e5403aeb3
Remove unneeded be_t
2014-10-11 20:20:01 +03:00
raven02
b13a8ab4e3
Small RSX fix
2014-10-06 21:39:25 +08:00
DHrpcs3
eada1fe12c
Improved be_t
...
Fixed NV4097_SET_TWO_SIDE_LIGHT_EN
Added LIS, ORI, NOP & BLR to PPU Jit
2014-10-01 12:45:43 +03:00
Raul Tambre
879e2d920c
Add cellAvconfExt and cellVideoOutGetScreenSize
...
Also added a flag to RSX debugger showing if two sided lighting is
enabled, a 3D Monitor option and fixed a ")" missing in TODO printout
for sys_spu_elf_get_information.
2014-09-28 18:21:45 +03:00
Nekotekina
0044141631
sys_process_is_spu_lock_line_reservation_address
...
Formatting changed a bit
2014-09-17 17:15:17 +04:00
Nekotekina
85f2009175
Merge branch 'master' of https://github.com/DHrpcs3/rpcs3
2014-09-12 01:16:57 +04:00
Nekotekina
cd39256361
CallbackManager rewritten
2014-09-11 23:18:19 +04:00
Raul Tambre
88cc03b9e2
Implemented NV4097_SET_TWO_SIDE_LIGHT_EN
2014-09-11 18:59:42 +03:00
Nekotekina
b0d9fba418
Conflicts fixed
2014-09-06 02:54:42 +04:00
Nekotekina
12becc6120
MemoryBase::operator[] replaced
2014-09-06 02:12:10 +04:00
Nekotekina
225dba754d
GetMemFromAddr, VirtualToRealAddr replaced
...
Some arg types changed
2014-09-05 21:23:00 +04:00
Peter Tissen
383f6aff2b
unix preprocessor define typo fixed
2014-09-03 12:12:50 +02:00
Nekotekina
a8cfefac07
vm::ptr for u8/char types, mem_list_ptr_t removed
2014-08-31 19:01:48 +04:00
Nekotekina
028ce2dd9f
stdafx_gui.h created, wx removed from stdafx.h
2014-08-29 02:49:26 +04:00
Nekotekina
61c4a88ab4
rFile.h, Thread.h, IdManager.h includes moved
2014-08-25 18:56:13 +04:00
Nekotekina
84c5899faf
Abstract GSFrameBase class and callback
2014-08-25 02:23:26 +04:00
Nekotekina
efa538f9d7
include clearing
2014-08-23 04:16:54 +04:00
Lioncash
538498f21f
GLGSRender: Fix always false error condition
2014-08-19 02:48:11 -04:00
Alexandro Sánchez Bach
cf9769fe65
Fragment Shader recompiler comments
...
Don't expect changes due to this commit.
2014-08-18 22:07:52 +02:00
Alexandro Sánchez Bach
b23a5f2312
RSXVertexData bugs fixed
...
* Some extra info on sys_rsx syscalls
* Code cleaned in GLGSRender.cpp
2014-08-18 16:37:23 +02:00
Alexandro Sánchez Bach
bb1749d3da
cellGcmSys changes and minor fixes
2014-08-17 11:22:36 +02:00
Alexandro Sánchez Bach
b7be8b19ef
Updates in sys_rsx and CellGcmDisplayInfo
...
Thanks a lot to @3141card for all the relevant information about RSX
related lv2 syscalls.
2014-08-16 23:45:56 +02:00
Alexandro Sánchez Bach
f07c35d9ae
Renamed Emu/GS -> Emu/RSX
2014-08-04 01:37:23 +02:00