Commit Graph
298 Commits
Author SHA1 Message Date
Unknown W. Brackets a66bc633f6 Fix nearest framebuffer check.
Broken in 454a363.
2015-09-16 20:05:55 -07:00
Unknown W. Brackets 3233116749 Use fixed regs for uv bounds check in arm64. 2015-09-13 15:06:29 -07:00
Unknown W. Brackets dff4aeb30f Correct uv bound pointers in arm vertexjit. 2015-09-13 14:55:10 -07:00
Unknown W. Brackets 93e9d6cd56 Respect framebuffer offset in fb copies.
We need to offset the copy coordinates also, or we'll copy the wrong
thing.
2015-09-13 11:35:15 -07:00
Unknown W. Brackets 62de281e35 Use texture UV range to optimize framebuf copies. 2015-09-13 11:34:52 -07:00
Unknown W. Brackets f4df7f076e Hash less of 512 tall textures when possible.
This allows xBRZ to work better on such textures, and also may reupload
them less frequently.
2015-09-13 11:15:57 -07:00
Unknown W. Brackets 31106d063c Fix MSVC 2015 highlighting for ARM/ARM64. 2015-09-13 10:02:55 -07:00
Unknown W. Brackets 72a73045bb Add uv range to arm64 and non-jit decoders. 2015-09-13 10:01:37 -07:00
Unknown W. Brackets 5c233fa545 Add initial decoding check for uv bounds. 2015-09-13 10:00:33 -07:00
Unknown W. Brackets c7e6f051e4 Split the texture application into two stages.
The latter simply applies the texture.

This makes our IsAlphaTestTriviallyTrue() check correct.
2015-09-13 09:30:39 -07:00
Unknown W. Brackets 71afaffc20 Pack texture cache entries just a bit tighter. 2015-09-13 06:43:47 -07:00
Unknown W. Brackets 7d63a10fdd Centralize texture cache entry structures. 2015-09-13 06:43:37 -07:00
Unknown W. Brackets e1df8fc45f Centralize sampling params and test optimizations. 2015-09-13 06:38:07 -07:00
Unknown W. Brackets e0f85a9c6b Native merge part 1: skip native/ in includes. 2015-09-06 12:19:33 -07:00
Henrik Rydgard ab3468ea02 Move native/gfx_es2/gl_state.cpp/h into GPU/GLES/GLStateCache.cpp/h 2015-09-06 13:45:17 +02:00
Unknown W. Brackets 764539f814 Clean up GLES logic used in shader gen. 2015-09-05 16:44:17 -07:00
Unknown W. Brackets 2d0635c3e6 Cut out a bit more USING_GLES2. 2015-09-05 16:28:46 -07:00
Henrik Rydgard 1c0158bfe6 Further reduce the use of ifdef USING_GLES2 and friends. 2015-09-05 23:39:10 +02:00
Henrik Rydgard 9e18fb7e90 Round Z in the vertex shader to match a 16-bit Z buffer.
However this inexplicably does still not solve the Phantasy Star issue!
2015-08-26 15:25:21 +02:00
Henrik Rydgard 1e8a1b801f Rename viewportX1/X2 etc to scale + center, which is what they actually are. 2015-08-26 15:24:35 +02:00
Henrik Rydgard 29fc9e81a4 Use the gstate.getViewport* accessors. 2015-08-26 15:24:35 +02:00
Unknown W. Brackets ba15718db3 Track hovering in GE debugger to show pixel value.
This works for texture, framebuffer, depth, and stencil.

Importantly, allows debugging the actual depth values present.
2015-08-23 09:25:05 -07:00
Henrik Rydgard d7f4c47c22 Refactor: Even more getting rid of gstate access in the framebuffer manager. 2015-08-05 12:13:14 +02:00
Henrik Rydgard d7c76cb1da Refactor: More work towards getting rid of gstate accesses from the framebuffer manager 2015-08-05 11:51:24 +02:00
Henrik Rydgard 454a363876 Reorganize all the gstate fetching in FramebufferCommon to one place 2015-08-05 11:36:02 +02:00
Henrik Rydgard d26b74d4d6 GPU refactor: Move accesses to gstate out of leaf functions 2015-08-05 01:03:49 +02:00
Henrik Rydgard c8fe0b2690 Minor simplification, buildfixes 2015-07-29 12:38:31 +02:00
Henrik Rydgard 2430c283a5 More GPU cleaning, removing uses of GPUState.h where not needed.
Want to get rid of direct accesses to GPUState in modules that may be reused in
my future next-gen backends, that will reformat display lists into command lists that will
then be optimized and executed, out of sync with the real GPUState.

Candidate modules that may be reused in full are Framebuffer and Depal, possibly TextureCache to some degree.
2015-07-29 12:37:49 +02:00
Henrik Rydgard 33246ffc8d Non-x86 buildfix 2015-07-29 12:19:15 +02:00
Henrik Rydgard 38a31fbd8b Get rid of more uses of gstate from SplineCommon 2015-07-29 12:04:52 +02:00
Henrik Rydgard cde585a29a Include dependency cleanup 2015-07-29 11:48:20 +02:00
Henrik Rydgard 53f062b7b2 refactor: Remove some uses of gstate from SplineCommon and a fex texcache functions 2015-07-29 11:40:45 +02:00
Henrik Rydgard aae254254b Fix bad cleanup change, thanks to tapcio for pointing it out in 07b17560f 2015-07-28 01:09:48 +02:00
Unknown W. Brackets 7f8cf7f800 arm64: Use XXH64 for vertex hashing, etc.
Based on benchmarks, it performs better than XXH32 on an A57.
2015-07-22 21:38:01 -07:00
Unknown W. Brackets a98706f813 arm64: Correct some offset snapping. 2015-07-05 08:59:36 -07:00
Unknown W. Brackets 46c1030530 arm64: small optimization for weights. 2015-07-05 08:35:51 -07:00
Unknown W. Brackets 809f398760 arm64: Set vertexFullAlpha. 2015-07-05 00:17:06 -07:00
Unknown W. Brackets 37bc3cd347 arm64: Optimize some texcoord and normal decode. 2015-07-04 23:40:11 -07:00
Unknown W. Brackets f8bb7f3c52 arm64: Optimize pos and nrm conversions. 2015-07-04 18:22:16 -07:00
Unknown W. Brackets 75c8ccd2c1 arm64: Update emitter from Dolphin.
From dolphin-emu/dolphin@d09d59007a.
2015-07-04 00:00:28 -07:00
Henrik Rydgard 3587b36f86 Minor cleanups in BackgroundAudio and ARM64 vtx dec. Update native. 2015-06-22 00:09:02 +02:00
Unknown W. Brackets 0597b92998 For consistency, push fp regs here too. 2015-06-14 09:24:56 -07:00
Henrik Rydgard e848247f88 ARM64: Also save FP registers around the JIT dispatcher loop 2015-06-14 13:03:46 +02:00
Henrik Rydgard 2c05334d47 ARM64: Fix bug where we didn't save the FP registers correctly in the vertex decoder.
Also port a few ops from dolphin's ARM64 emitter.
2015-06-14 12:56:44 +02:00
Henrik Rydgard cc6db7a8df Declare DoTexSwizzle16 outside #ifdef _M_SSE, fixing build on ARM 2015-06-14 11:25:18 +02:00
Unknown W. Brackets 401bd35691 Swizzle video texture data on write to mirrors. 2015-06-13 16:29:56 -07:00
Henrik Rydgard 5736f3aba6 Shouldn't check for NEON on ARM64 2015-06-11 12:44:45 +02:00
Henrik Rydgård 2a1f6bca97 Fix NEON 4444 CheckAlpha, workaround for failed bNEON detection on ARM64 2015-05-31 12:29:08 +02:00
Henrik Rydgård 7b50ec7b75 Merge branch 'CheckAlphaNEON' of git://github.com/KentuckyCompass/ppsspp into KentuckyCompass-CheckAlphaNEON 2015-05-31 12:00:10 +02:00
Jan Beich 5f278b2d94 Unbreak build with SSE 4.1 (clang -march=penryn)
Common/ColorConv.cpp:199:33: error: use of undeclared identifier '_mm_packus_epi32';
      did you mean '_mm_packs_epi32'?
                _mm_store_si128(&dstp[i / 2], _mm_packus_epi32(c1, c2));
                                              ^~~~~~~~~~~~~~~~
                                              _mm_packs_epi32
/usr/bin/../lib/clang/3.6.0/include/emmintrin.h:1254:1: note: '_mm_packs_epi32'
      declared here
_mm_packs_epi32(__m128i __a, __m128i __b)
^
Common/ColorConv.cpp:241:33: error: use of undeclared identifier '_mm_packus_epi32';
      did you mean '_mm_packs_epi32'?
                _mm_store_si128(&dstp[i / 2], _mm_packus_epi32(c1, c2));
                                              ^~~~~~~~~~~~~~~~
                                              _mm_packs_epi32
/usr/bin/../lib/clang/3.6.0/include/emmintrin.h:1254:1: note: '_mm_packs_epi32'
      declared here
_mm_packs_epi32(__m128i __a, __m128i __b)
^
2 errors generated.

GPU/Common/TextureScalerCommon.cpp:294:6: error: unknown type name '__m128'
                                        __m128 result = _mm_set1_ps(0.0f);
                                        ^
GPU/Common/TextureScalerCommon.cpp:294:22: error: use of undeclared identifier
      '_mm_set1_ps'
                                        __m128 result = _mm_set1_ps(0.0f);
                                                        ^
GPU/Common/TextureScalerCommon.cpp:305:9: error: unknown type name '__m128i'
                                                                __m128i samp...
                                                                ^
GPU/Common/TextureScalerCommon.cpp:305:26: error: use of undeclared identifier
      '_mm_cvtsi32_si128'
  ...__m128i sample = _mm_cvtsi32_si128(data[csy*w + csx]);
                      ^
GPU/Common/TextureScalerCommon.cpp:307:9: error: unknown type name '__m128'
                                                                __m128 col ...
                                                                ^
GPU/Common/TextureScalerCommon.cpp:308:31: error: use of undeclared identifier
      '_mm_set1_ps'
  ...col = _mm_mul_ps(col, _mm_set1_ps(weight));
                           ^
GPU/Common/TextureScalerCommon.cpp:314:6: error: unknown type name '__m128i'
                                        __m128i pixel = _mm_cvtps_epi32(_mm_...
                                        ^
GPU/Common/TextureScalerCommon.cpp:314:57: error: use of undeclared identifier
      '_mm_set1_ps'
  ...__m128i pixel = _mm_cvtps_epi32(_mm_mul_ps(result, _mm_set1_ps(bicubicInvSum...
                                                        ^
8 errors generated.
2015-05-26 15:20:10 +03:00