Subv
8d9534d830
GLCache: Align compressed texture sizes to their compression ratio, and then align that compressed size to the block height for tiled textures.
...
This fixes issues with retrieving non-block-aligned tiled compressed textures from the cache.
2018-06-08 12:27:19 -05:00
Subv
47dc5e0dab
Rasterizer: Flush the written region when writing shader uniform data before copying it to the uniform buffers.
...
This fixes the flip_viewport uniform having invalid values when drawing.
2018-06-08 12:22:39 -05:00
bunnei
ee318d4015
Merge pull request #543 from Subv/uniforms
...
GLRenderer: Write the shader stage configuration UBO data *before* copying it to the GPU.
2018-06-07 11:21:36 -04:00
Subv
86146ef819
GLRenderer: Write the shader stage configuration UBO data *before* copying it to the GPU.
...
This should fix the bug with the vs_config UBO being uninitialized during shader execution.
2018-06-07 08:33:23 -05:00
mailwl
a2efb1dd48
Common/string_util: add StringFromBuffer function
...
convert input buffer (std::vector<u8>) to string, stripping zero chars
2018-06-07 09:59:47 +03:00
bunnei
ee1eb8cfdf
Merge pull request #522 from mailwl/mm-u
...
Service/MM: add service and stub some functions
2018-06-07 02:00:04 -04:00
bunnei
0639e03055
Merge pull request #542 from bunnei/bfe_imm
...
gl_shader_decompiler: Implement BFE_IMM instruction.
2018-06-07 01:49:45 -04:00
bunnei
930487c7fb
Merge pull request #541 from Subv/blittextures
...
GLCache: Fixed copying compressed textures in the rasterizer cache.
2018-06-07 01:35:01 -04:00
bunnei
92209f905f
gl_shader_decompiler: Implement BFE_IMM instruction.
2018-06-07 00:58:12 -04:00
Subv
f22e090b86
GLCache: Use the full uncompressed size when blitting from one texture to another.
...
This avoids the problem of only copying a tiny piece of the textures when they are compressed.
2018-06-06 23:26:36 -05:00
Subv
218a08df93
GLCache: Simplify the logic to copy from one texture to another in BlitTextures.
...
We now use glCopyImageSubData, this should avoid errors with trying to attach a compressed texture as a framebuffer's color attachment and then blitting to it.
Maybe in the future we can change this to glCopyTextureSubImage which only requires GL_ARB_direct_state_access.
2018-06-06 23:25:24 -05:00
bunnei
0cb7ce71e0
Merge pull request #539 from bunnei/f2f-rounding
...
gl_shader_decompiler: F2F: Implement rounding modes.
2018-06-07 00:10:09 -04:00
bunnei
9f21f20d7c
Merge pull request #503 from mailwl/nfp-stubs
...
Service/nfp:user : stub some functions.
2018-06-06 22:36:53 -04:00
bunnei
128aeba0f3
gl_shader_decompiler: F2F: Implement rounding modes.
2018-06-06 22:21:29 -04:00
bunnei
03f877919d
Merge pull request #537 from bunnei/misc-shader
...
gl_shader_decompiler: Additional decodings, remove unused stuff from TEX
2018-06-06 21:44:37 -04:00
bunnei
37f50c8773
Merge pull request #535 from Subv/gpu_swizzle
...
GPU: Support changing the texture swizzles for Maxwell textures.
2018-06-06 21:39:47 -04:00
bunnei
00c830405b
gl_shader_decompiler: Remove some attribute stuff that has nothing to do with TEX/TEXS.
2018-06-06 19:47:41 -04:00
bunnei
4b114e1b8a
shader_bytecode: Add instruction decodings for BFE, IMNMX, and XMAD.
2018-06-06 19:47:34 -04:00
bunnei
0a49c46353
gl_shader_decompiler: Implement ISETP_IMM instruction.
2018-06-06 19:45:58 -04:00
Subv
47629c89a8
GPU: Support changing the texture swizzles for Maxwell textures.
2018-06-06 18:36:15 -05:00
Subv
89e81a9be2
GLState: Support changing the GL_TEXTURE_SWIZZLE parameter of each texture unit.
2018-06-06 18:36:13 -05:00
bunnei
0ff2929644
Merge pull request #534 from Subv/multitexturing
...
GPU: Implement sampling multiple textures in the generated glsl shaders.
2018-06-06 19:12:52 -04:00
bunnei
4669f15f8b
gl_shader_decompiler: Implement LD_C instruction.
2018-06-06 18:09:06 -04:00
bunnei
4112aa68a6
gl_shader_gen: Add uniform handling for indirect const buffer access.
2018-06-06 18:09:05 -04:00
bunnei
6e386a334b
gl_shader_decompiler: Refactor uniform handling to allow different decodings.
2018-06-06 17:57:15 -04:00
Subv
dbfc39d214
GPU: Implement sampling multiple textures in the generated glsl shaders.
...
All tested games that use a single texture show no regression.
Only Texture2D textures are supported right now, each shader gets its own "tex_fs/vs/gs" sampler array to maintain independent textures between shader stages, the textures themselves are reused if possible.
2018-06-06 12:58:16 -05:00
mailwl
61fbf5c8e6
Stub IUser::AttachAvailabilityChangeEvent
2018-06-06 19:05:11 +03:00
greggameplayer
be09dfeed9
nvdrv/devices/nvidia_ctrl_gpu : add IoctlCommands with their params ( #524 )
...
* add IoctlCommands with their params in nvidia_ctrl_gpu.h
* add function related to the changes done previously
* fix clang-format
* delete trailing whitespace
* correct mistake
2018-06-06 08:31:17 -05:00
Sebastian Valle
2f842a86fe
Merge pull request #529 from bunnei/am-nifm-stubs
...
Stub SetConnectionConfirmationOption, GetPseudoDeviceId
2018-06-06 08:29:12 -05:00
Sebastian Valle
ce026332a5
Merge pull request #531 from bunnei/fix-shl
...
gl_shader_decompiler: Fix un/signed mismatch with SHL.
2018-06-06 08:28:42 -05:00
Sebastian Valle
fa220dd709
Merge pull request #530 from bunnei/wrap-mirror
...
maxwell_to_gl: Implement WrapMode Mirror.
2018-06-06 08:28:27 -05:00
mailwl
a776464a55
Remove unused header files
2018-06-06 09:10:48 +03:00
bunnei
9a85277d83
Merge pull request #527 from Subv/rgba32f_texcopy
...
GPU: Allow the usage of RGBA32_FLOAT and RGBA16_FLOAT in the texture copy engine.
2018-06-06 00:24:13 -04:00
bunnei
05dc93399b
Merge pull request #528 from Subv/rg11b10f
...
GPU: Implemented the R11FG11FB10F texture and rendertarget formats.
2018-06-06 00:22:54 -04:00
Hedges
39fb3e362c
GDB Stub Improvements ( #508 )
...
* GDB Stub should work now.
* Applied clang-format.
* Replaced htonll with swap64.
* Tidy up.
2018-06-06 00:20:47 -04:00
bunnei
566f97b580
gl_shader_decompiler: Fix un/signed mismatch with SHL.
2018-06-05 23:58:06 -04:00
bunnei
bf0543af23
maxwell_to_gl: Implement WrapMode Mirror.
2018-06-05 23:56:45 -04:00
bunnei
c5684411a0
nifm: Stub out IRequest::SetConnectionConfirmationOption.
2018-06-05 23:54:13 -04:00
bunnei
2abe5e39fc
am: Stub out IApplicationFunctions::GetPseudoDeviceId.
2018-06-05 23:54:02 -04:00
Subv
adf47cd59a
GPU: Allow the usage of RGBA16_FLOAT in the texture copy engine.
2018-06-05 22:01:20 -05:00
Subv
c531a92eda
GPU: Implemented the R11FG11FB10F texture and rendertarget formats.
2018-06-05 21:57:16 -05:00
Subv
14afc704d4
GPU: Fixed the compression factor for RGBA16F textures.
...
They're not compressed.
2018-06-05 21:55:17 -05:00
Subv
8d70d1ea45
GPU: Allow the usage of RGBA32_FLOAT in the texture copy engine.
2018-06-05 21:07:40 -05:00
bunnei
5fb99e6a16
Merge pull request #516 from Subv/f2i_r
...
GPU: Implemented the F2I_R shader instruction.
2018-06-05 22:01:29 -04:00
bunnei
38eb33f150
Merge pull request #521 from Subv/bra
...
GPU: Corrected the branch targets for the shader bra instruction.
2018-06-05 10:09:35 -04:00
bunnei
b54a72afc0
Merge pull request #520 from bunnei/shader-shl
...
gl_shader_decompiler: Implement SHL instruction.
2018-06-05 10:08:42 -04:00
mailwl
62cd19e4ae
Small fixes
2018-06-05 15:34:01 +03:00
mailwl
7e3d746b06
Service/MM: add service and stub some functions
2018-06-05 12:19:29 +03:00
Subv
e7dfcdde74
GPU: Corrected the branch targets for the shader bra instruction.
2018-06-04 22:56:28 -05:00
Subv
4b89348c00
GPU: Implemented the F2I_R shader instruction.
2018-06-04 22:06:50 -05:00
bunnei
8c99dd055c
Merge pull request #518 from Subv/incomplete_shaders
...
GPU: Implemented predicated exit instructions in the shader programs.
2018-06-04 22:43:46 -04:00
bunnei
799e632ccb
gl_shader_decompiler: Fix typo with ISCADD instruction.
2018-06-04 22:41:10 -04:00
bunnei
c23c30c76f
gl_shader_decompiler: Implement SHL instruction.
2018-06-04 22:36:49 -04:00
bunnei
6ea1576513
gl_shader_decompiler: Implement PredCondition::NotEqual.
2018-06-04 22:00:47 -04:00
Subv
23b1e6eded
GPU: Implement the ISCADD shader instructions.
2018-06-04 20:17:41 -05:00
Subv
438a9b70cc
GPU: Added decodings for the ISCADD instructions.
2018-06-04 20:17:39 -05:00
bunnei
e8bfff7b4b
Merge pull request #514 from Subv/lop32i
...
GPU: Implemented the LOP32I instruction.
2018-06-04 20:48:15 -04:00
bunnei
f564822e78
Merge pull request #510 from Subv/isetp
...
GPU: Implemented the ISETP_R and ISETP_C instructions
2018-06-04 20:47:11 -04:00
Subv
6cf6fa2842
GPU: Implement predicated exit instructions in the shader programs.
2018-06-04 19:18:11 -05:00
Subv
d27279092f
GPU: Take into account predicated exits when performing shader control flow analysis.
2018-06-04 19:14:23 -05:00
bunnei
37fd4e6d9b
Merge pull request #512 from Subv/fset
...
GPU: Corrected the FSET and I2F instructions.
2018-06-04 19:04:20 -04:00
bunnei
cdd92dc692
Merge pull request #501 from Subv/shader_bra
...
GPU: Partially implemented the bra shader instruction
2018-06-04 18:31:07 -04:00
bunnei
38d25a4cb2
Merge pull request #515 from Subv/viewport_fix
...
GPU: Calculate the correct viewport dimensions based on the scale and translate registers.
2018-06-04 18:11:36 -04:00
Subv
2933521a08
GPU: Use the bf bit in FSET to determine whether to write 0xFFFFFFFF or 1.0f.
2018-06-04 16:41:28 -05:00
Subv
f6679ce422
GPU: Corrected the I2F_R implementation.
2018-06-04 16:41:27 -05:00
Subv
5d55403f94
GPU: Calculate the correct viewport dimensions based on the scale and translate registers.
...
This is how nouveau calculates the viewport width and height. For some reason some games set 0xFFFF in the VIEWPORT_HORIZ and VIEWPORT_VERT registers, maybe those are a misnomer and actually refer to something else?
2018-06-04 16:36:54 -05:00
bunnei
0a0233f39f
Merge pull request #490 from BreadFish64/extension-check
...
Add checks for OpenGL extension support
2018-06-04 16:13:55 -04:00
bunnei
9936d1b9e2
Merge pull request #513 from Subv/cache_alignment
...
GLCache: Corrected a mismatch between storing compressed sizes and verifying the uncompressed alignment in GetSurface.
2018-06-04 16:12:55 -04:00
greggameplayer
4fad069870
Nvdrv/devices/nvhost_gpu : Add some IoctlCommands with their params ( #511 )
...
* Add some IoctlCommand with their params to nvhost_gpu
* fix clang-format
* delete trailing whitespace
* fix some clang-format
* delete one other trailing whitespace
* last clang-format fix
2018-06-04 16:12:02 -04:00
Subv
0c688b421c
GPU: Implemented the LOP32I instruction.
2018-06-04 13:56:31 -05:00
Subv
cb47abecc6
GLCache: Corrected a mismatch between storing compressed sizes and verifying the uncompressed alignment in GetSurface.
2018-06-04 13:01:53 -05:00
BreadFish64
fbef849c04
sdl: add check for GL extension support
2018-06-04 12:26:41 -05:00
BreadFish64
0641950f9a
qt: add check for GL extension support
2018-06-04 12:26:30 -05:00
Subv
90cddf1996
GPU: Use explicit types when retrieving the uniform values for fsetp/fset and isetp instead of the type of an invalid output register.
2018-06-04 11:22:26 -05:00
Subv
7c181fd4f4
GPU: Implemented the ISETP_R and ISETP_C shader instructions.
2018-06-04 11:12:03 -05:00
mailwl
bb081dd1d2
Correct function results
2018-06-04 14:43:02 +03:00
mailwl
019778707d
Service/nfp:user : stub some functions.
...
Used by Zelda: BoTW
2018-06-04 12:39:43 +03:00
bunnei
afdd2f4cad
am: Implement ILibraryAppletAccessor::PopOutData.
2018-06-03 23:44:23 -04:00
bunnei
df4336a85e
am: ISelfController:LaunchableEvent should be sticky.
2018-06-03 23:44:22 -04:00
bunnei
51d8a2c322
am: Stub out ILibraryAppletAccessor Start and GetResult methods.
2018-06-03 23:44:22 -04:00
bunnei
049ce242a4
Merge pull request #499 from bunnei/am-stuff
...
am: Implement CreateStorage, PushInData, etc.
2018-06-03 23:43:52 -04:00
Subv
b481d8a00d
GPU: Partially implemented the shader BRA instruction.
2018-06-03 22:26:36 -05:00
Subv
06c72b4fcf
GPU: Added decoding for the BRA instruction.
2018-06-03 22:14:00 -05:00
bunnei
876b805e50
am: Implement ILibraryAppletAccessor::PushInData.
2018-06-03 22:10:06 -04:00
bunnei
2dcb98226b
am: Implement IStorageAccessor::Write.
2018-06-03 22:10:06 -04:00
bunnei
9fedfbe141
am: Cleanup IStorageAccessor::Read.
2018-06-03 22:10:06 -04:00
bunnei
d73c22bf4d
am: Implement ILibraryAppletCreator::CreateStorage.
2018-06-03 22:10:05 -04:00
bunnei
ba117854f9
Merge pull request #500 from Subv/long_queries
...
GPU: Partial implementation of long GPU queries.
2018-06-03 21:24:50 -04:00
Subv
d57333406d
GPU: Partial implementation of long GPU queries.
...
Long queries write a 128-bit result value to memory, which consists of a 64 bit query value and a 64 bit timestamp.
In this implementation, only select=Zero of the Crop unit is implemented, this writes the query sequence as a 64 bit value, and a 0u64 value for the timestamp, since we emulate an infinitely fast GPU.
This specific type was hwtested, but more rigorous tests should be performed in the future for the other types.
2018-06-03 19:17:31 -05:00
bunnei
1efcba346a
gl_shader_decompiler: Implement TEXS component mask.
2018-06-03 12:08:17 -04:00
bunnei
bb9d39b8fe
Merge pull request #494 from bunnei/shader-tex
...
gl_shader_decompiler: Implement TEX, fixes for TEXS.
2018-06-03 12:05:38 -04:00
bunnei
27c0f9e02d
Merge pull request #495 from bunnei/improve-rro
...
gl_shader_decompiler: Implement RRO as a register move.
2018-06-03 12:05:26 -04:00
bunnei
41faeeeb03
Merge pull request #484 from mailwl/nvhost-nvdec
...
Services/nvdrv: add '/dev/nvhost-nvdec' device
2018-06-03 11:18:00 -04:00
bunnei
63270e588b
Merge pull request #496 from Subv/waitprocesswidekey_timeout
...
Kernel/Threads: A thread waking up by timeout from a WaitProcessWideKey may already have an assigned lock owner.
2018-06-03 11:15:49 -04:00
bunnei
e54ea773fc
gl_shader_decompiler: Implement RRO as a register move.
2018-06-03 11:14:31 -04:00
Subv
9cd87a6352
Kernel/Threads: A thread waking up by timeout from a WaitProcessWideKey may already have an assigned lock owner.
...
This situation may happen like so:
Thread 1 with low priority calls WaitProcessWideKey with timeout.
Thread 2 with high priority calls WaitProcessWideKey without timeout.
Thread 3 calls SignalProcessWideKey
- Thread 2 acquires the lock and awakens.
- Thread 1 can't acquire the lock and is put to sleep with the lock owner being Thread 2.
Thread 1's timeout expires, with the lock owner still being set to Thread 2.
2018-06-02 14:06:35 -05:00
Subv
99f9d47d16
GPU: Implemented the DXN1 (BC4) texture format.
2018-06-02 13:17:09 -05:00
mailwl
11568c2ea3
Service/time: implement posix time to calendar conversion
2018-06-01 09:40:28 +03:00
bunnei
888eb345c0
gl_shader_decompiler: Implement TEX instruction.
2018-05-31 23:36:45 -04:00
bunnei
4c727d0ba8
gl_shader_decompiler: Support multi-destination for TEXS.
2018-05-31 22:57:32 -04:00