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
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
8358bda133
gl/rsx: Fixes to zcull pixel counting
2017-08-26 21:53:54 +03:00
Jake
7ecf6cb014
rsx: Ignore sending system reserved semaphores to renderer
2017-08-19 12:27:53 +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
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
RipleyTom
2d7e91ba8a
Yield instead of sleeping rsx thread. ( #3158 )
...
Another Yield
2017-08-06 01:46:01 +01:00
Jake
21dd715b42
sys_rsx: implement support for lle-gcm
2017-08-02 01:33:12 +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
b95ffaf4dd
rsx: Implement skip draw. Also, start working on MT vertex upload
2017-07-08 14:52:16 +03:00
Nekotekina
d86858da64
Fix tabs
2017-06-24 14:25:11 +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
5c6cf77c57
rsx: Register NV4097_SET_COLOR_KEY_COLOR method.
2017-06-22 23:36:15 +03:00
kd-11
423fd4a388
rsx: Fix stencil initial values
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
Nekotekina
f010b5b235
Configuration simplified
2017-05-20 16:01:48 +03:00
scribam
299f627321
Stub cell ( #2785 )
...
* Update cellGcmSys
* Update cellStorage
* Update cellSubdisplay
* Update sceNpTrophy
- Use error_code as return type
- Add few checks
* Update cellKey2char
* Update cellKb:
- Use error_code as return type
- Replace UNIMPLEMENTED_FUNC by .todo
* Update cellNetCtl
* Update cellSpudll
* Update cellSysutilAp
* Update cellUserInfo
* Stub sys_mempool_allocate_block (bad idea)
2017-05-15 14:30:14 +03:00
kd-11
adefd1fd63
rsx/ui: Add config toggle for GPU texture scaling/blit
2017-04-08 23:12:09 +03: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
d94986ff0d
rsx: Set up hw accelerated blit
2017-04-08 23:12:09 +03:00
kd-11
909f3e9b3e
rsx: Support indexed immediate draw via ArrayElement method
2017-03-29 23:06:17 +03:00
kd-11
70d3a6d840
rsx: Support more base types for immediate rendering
...
fix alignment
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
34c2b8a55e
rsx: recover from FIFO parse errors
...
- Validate FIFO registers before access
-- Validate the args ptr separate from the get ptr
2017-03-24 09:30:23 +03:00
kd-11
be4bb48476
rsx/fp: Fix some decompiler bugs
2017-03-13 23:40:34 +03:00
Jake
c3b424eb11
rsx: image_in fix for clipx/y ( #2440 )
2017-02-28 16:21:07 +08:00
Jake
a886e28f87
Fix nv3089_image_in
...
- Restrict clip_x/y
- Remove double offset addition
2017-02-17 18:33:56 -06:00
Nekotekina
598c90f376
PPU thread scheduler
2017-02-13 22:26:11 +03:00
Nekotekina
763550c472
0x2c8..0x2fc
2017-02-13 17:50:04 +03:00
Oil
1669d0fdbd
Minor changes ( #2352 )
...
* More initial values for rsx method registers
* Implemented spu decrementer event
* Remove u32 cast
2017-02-07 23:59:59 +03:00
O1L
bf33a1827c
Set default values for NV4097_SET_SURFACE_FORMAT register
2017-02-04 19:32:54 +03:00
Zangetsu38
bd6a7dea7e
rsx: Fix error context dma
2017-01-31 14:37:31 +01:00
Nekotekina
a5a2d43d7c
Thread.cpp refinement
...
Hide thread mutex
Safe notify() method
Other refactoring
2017-01-29 19:52:19 +03:00
Cornee Traas
435ef04c34
Bind SET_POLYGON_STIPPLE_PATTERN ( #2259 )
...
Causes MGS4 to boot a little bit further
2017-01-20 10:48:17 +08:00
vlj
8f5e94c155
rsx: Set default attribute format to float.
2016-09-22 15:44:59 +02:00
vlj
f87e396958
rsx: Dump DRAW_ARRAYS and DRAW_INDEX_ARRAYS.
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
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
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
Nekotekina
68cf570b58
Implemented rsx::invalid_method
2016-07-31 18:16:51 +03:00
Nekotekina
1c69eb2b73
rsx_method_t extended
...
rsx_methods.cpp cleanup
2016-07-31 18:16:49 +03:00
Nekotekina
6a9f3040e1
rsx_methods.cpp fix
2016-07-31 18:16:48 +03:00
Vincent Lejeune
4c46bde315
rsx: Inline rsx_state and texture constructors.
2016-07-31 16:48:09 +02:00
Vincent Lejeune
15500d4ee9
rsx: implement serialization of rsx states.
2016-07-30 18:39:26 +02:00
Nekotekina
f8719c1230
PPUThread refactoring
...
`CallbackManager` removed, added _gcm_intr_thread for cellGcmSys
`PPUThread` renamed to `ppu_thread`, inheritance allowed
Added lightweight command queue for `ppu_thread`
Implemented call stack dump for PPU
`get_current_thread_mutex` removed
`thread_ctrl::spawn`: minor initialization fix
`thread_ctrl::wait_for` added
`named_thread`: some methods added
`cpu_thread::run` added
Some bugs fixes, including SPU channels
2016-07-30 16:35:02 +03:00
Vincent Lejeune
ac771f951d
rsx: Copy state in capture frame call
2016-07-27 20:20:35 +02:00
Vincent Lejeune
8b12379eb3
rsx: Use bitfield template to decode values.
2016-07-27 18:38:36 +02:00
Vincent Lejeune
e9bee80f4b
rsx: Use register_decoder for vertex attributes.
2016-07-19 20:28:32 +02:00
Nekotekina
ceb4cb59ac
Typo fix: comparaison->comparison
2016-07-19 14:17:25 +03:00
Vincent Lejeune
d97cdb9fbf
rsx: Gather most rsx commands pretty printing and state modification function in a single file.
...
rsx_decode.h implements a "rsx_decoders" template class that is specialized for most GCM command
found in rsx command buffer. 3 static members are defined : a "decode" function that turns command
value into a more meaninfull type if applicable (for instance bool for _enabled* command, surface
formats for set_surface_format command...), a "commit_rsx_state" that modifies a given rsx_state
structure when the command is parsed, and a "dump" function used in rsx_debugger for pretty printing.
Hopefully having the 3 functions in a single place for every command will act as a self documenting
list of rsx command buffer opcode.
rsx_state is also expanded into several explicit variables instead of being stored into a u32 array.
This should makes debugging easier (Visual Studio will display the exact value of these member for instance)
as well as preparing rsx_state for serialisation/deserialisation.
The vertex array and textures opcode are not concerned atm for bisecting purpose.
2016-07-17 17:31:53 +02:00
Nekotekina
692d9dd4ae
NV0039_OFFSET_IN fix
2016-07-17 15:03:13 +03:00
raven02
2085d318bb
rsx: typo fix ( #1921 )
2016-07-15 20:19:15 +03:00
raven02
b89961f01d
rsx: set frame limiter before rsx->flip() ( #1885 )
2016-07-11 21:00:04 +08:00
kd-11
6705a6ecc9
rsx: properly check for inlined array before discarding draw ( #1877 )
2016-07-09 22:54:44 +08:00
raven02
70885ada67
RSX: throw exception removal for user_command() ( #1872 )
2016-07-09 00:22:10 +08:00
raven02
1f4ebf1501
RSX: check vertex_draw_count
2016-07-08 16:56:12 +08:00
Vincent Lejeune
772706ca4c
Factorize rsx state
2016-07-07 21:38:57 +02:00
DH
086e1c34dd
RSX: added hack to the nv3089::image_in
...
Remove it when textures cache will be implemented properly
2016-06-28 12:52:10 +03:00
DH
e6c6a7fb8b
RSX: added proper nv0039::buffer_notify implementation from rsx_cache branch
2016-06-28 12:48:45 +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
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
Nekotekina
b85a68e8a1
Partial commit: RSX
2016-04-15 19:22:36 +03:00
Vincent Lejeune
79dc835378
rsx/common: Track transform constant update.
2016-02-21 21:29:44 +01:00
Vincent Lejeune
4efa2266e6
rsx/common/d3d12: Use m_texture_dirty[i] to signal texture state change and avoid unecessary bind operation.
2016-02-08 17:35:50 +01:00
DHrpcs3
7972cb5bdc
Code style fixes #1
2016-01-20 16:23:25 +03:00
Vincent Lejeune
440c637b1f
rsx/common/d3d12: Move surface_store in common
2016-01-19 22:49:10 +01: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
DHrpcs3
a17c41b4e1
nv4097::get_report: use DMA
2016-01-10 23:22:55 +02: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
e9560da4e2
nv3089::image_in: use in_x/in_y & out_x/out_y
2016-01-06 13:47:05 +02:00
DHrpcs3
6406cece57
nv3089::image_in: fixed reading from tiled regions
2016-01-06 13:30:26 +02:00
DHrpcs3
f7e787958e
fixed nv3089::image_in scale value
2016-01-06 13:30:25 +02:00
DHrpcs3
c1be0cf3bf
Added missed files
2016-01-06 13:30:24 +02:00