Commit graph

338 commits

Author SHA1 Message Date
Pedro Montes Alcalde
4a14d546ba
Tick Tick Tick, thats the sound of 2024 flying by (#3503) 2025-01-19 18:51:43 -03:00
Macdu
b86d91ed92 shader: Add sample lod bias support 2025-01-02 18:53:25 +03:00
oltolm
5c79ce282b
vulkan: fix assertion in Instruction::addIdOperand (#3416) 2024-10-29 21:19:08 +01:00
scribam
77abeaa167
vita3k: More cleanup (#3379)
* vita3k: Use C++17 nested namespace definition

* vita3k: Remove redundant call to c_str()

* vita3k: Prefer C++ header

* vita3k: Use structured bindings

* shader: Add explicit fallthrough

* vita3k: Cleanup headers and dependencies

* util: Add WIN32_LEAN_AND_MEAN before <Windows.h>

* modules: Remove redundant 'const' specifier on a constexpr variable

* modules: Remove redundant return statement at the end of a function with a void return type

* clang-format: Use C++20 standard

* vita3k: Insert new line at EOF

* host: rename filesystem.hpp to filesystem.h
2024-09-18 21:48:08 +02:00
scribam
612d1f8d81
vita3k: cleanup (#3357)
* module: add missing pragma once

* cmake/vita3k: delete unused files

* vita3k: delete useless semi-colons

* vita3k: cleanup headers

* audio: add missing override to destructors

* vita3k: fix typos

* external: disable unused curl targets
2024-09-02 13:03:58 +02:00
Macdu
53741632bc
shader, renderer/vulkan: Perform gamma correction within shaders when using shader interlock (#3298) 2024-05-23 12:25:46 +02:00
nishinji
584e1f172f vita3k: Minor optimize, code refactor
Co-authored-by: GermanAizek <GermanAizek@yandex.ru>
2024-05-21 23:42:57 +02:00
Macdu
e671af683a
shader: Improve signed integer normalization (#3254) 2024-03-23 23:05:18 +01:00
blackbird806
cb15157c13
shader: Replace std map by std array to store shader code in convert_gxp_usse_to_spirv (#3252) 2024-03-19 21:17:15 +01:00
bookmist
1fda880a94 vita3k: big code cleanup
Improvements
* lang: a bit more verbose error on wrong lang xml

Bugfixes
* kernel/sync_primitives: fix theoretically possible AV
* modules/SceAudio: a bit more correct sceAudioOutSetConfig
* fix wrong objects initialisation ({0} -> {})

Warning fixes
* clang warning: Macro argument should be enclosed in parentheses
[bugprone-macro-parentheses]
* modules: set unsigned type for Sce*ErrorCode enums
* clang warning: variable might be not be initialized
* clang warning: Function returns by const value. Consider returning by non-const value instead.
* clang warning: Prefer transparent functors [modernize-use-transparent-functors]

Refactoring
* io/device: move functions implementation from .h to .cpp file
* vita3k: fix fs::path usage
* clang warning: 'if' statement is unnecessary; deleting null pointer has no effect
* vita3k: use structured bindings and references in for-each-loops
* vita3k: simplify container operations, extract frequent operations to utility functions
* clang⚠️ 'contains' member function can be used
* kernel/sync_primitives: refactoring. drop unused parameter of handle_timeout
* vita3k: drop unused function parameters

* vita3k: fix typecasts
use static_cast instead of reinterpret casts if possible
use correct constants (1/1.0/1.0f)
correct variable types to minimise typecasts
use explicit typecasts (not everywhere)
replace c-style typecasts to c++ style typecasts (not everywhere)
* clang warning: remove redundant typecasts
* clang warning: Cast drops const qualifier

Optimisation
* vita3k: remove unused includes
* clang warning: Constness of returning variable prevents automatic move
[performance-no-automatic-move]
* clang warning: String concatenation results in allocation of unnecessary temporary strings
[performance-inefficient-string-concatenation]
* vita3k: use std::move
* vita3k: optimization. push_back -> emplace_back
* vita3k: fix datatypes to avoid unnesessary conversions
* clang warning: remove unneeded string->c_str->string conversion
* clang warning: The parameter is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
* clang warning: 'find' called with a string literal consisting of a single character
[performance-faster-string-find]
* clang warning: Result of a postfix operator is discarded, consider replacing it with a prefix operator
* clang warning: Pass value parameters by const reference

Code cleanup
* io/io: remove once used variables
* net/posixsocket: remove struct keyword
* vita3k: use raw string literals to avoid excessive escaping
* vita3k: refactoring. replace Ptr<> to pointer in Sce functions
* vita3k: drop unused variables and incorrect comments
* clang warning: readability-inconsistent-declaration-parameter-name
* clang warning: Extra ';' after member function definition
* clang warning: Possible misuse of comma operator (, is used instead of ;)
* clang warning: Algorithm accepting an iterator and a count can be used
* clang warning: Declaration and assignment can be joined
* clang warning: Type trait can be simplified using a template alias or a variable template

* vita3k: cleanup class methods
remove unimplemented (and obviously not used) methods
move deleted methods to public
change empty body to =default
remove auto constructors
set member default values
2024-03-18 15:44:56 +03:00
blackbird806
cf861a85a5
shader: Fix misuse of spv::Builder::createOp with spv::OpVectorShuffle (#3247)
* shader: fixed misuse of spv::Builder::createOp with spv::OpVectorShuffle

replaced c++ int literals ids by spirv builder makeIntConstant generated ids
this should fix the assert triggered by spv::Builder::createOp when sending 0 as Id

* shader: change calls to createOp with spv::OpVectorShuffle from std::vector<Id> to std::vector<IdImmediate> overload

* Fixed texture_query.prod_pos is from id to integer
2024-03-15 23:03:03 +01:00
bookmist
6ce9b6598e vita3k: some minor bugfixes
kernel/thread: fix possible crash in log_stack_traceback
modules/SceLibKernel: more correct sceClibSnprintf
kernel/load_self: fix possible crash on incorrect library modules. load process params from first loaded module (eboot.bin) only
modules/SceGxm: fix crash if display_thread not found
kernel/debugger: remove direct access to mem.memory to support memory mapping more complete
vita3k: remove direct access to kernel.threads (it's not thread-safe)
vita3k: implement and fix virtual destructors for class hierarchies to prevent memory leaks (except screen_filters)
clang-tidy warning: Constructing string from nullptr is undefined behaviour
clang warning: use after std::move
2024-02-12 20:21:40 +03:00
nishinji
d8b8e069d1
vita3k: typo fixes (#3179) 2024-01-18 11:49:08 +01:00
Pedro Montes Alcalde
34565e3ef4
Vita2024K: Happy 2024 2024-01-01 12:36:32 -03:00
Macdu
6d0393b5e7 shader: Implement SMBO instruction 2023-12-31 12:27:52 +01:00
Macdu
2c98370a48 shader: fix integer MOV instruction 2023-12-31 12:27:52 +01:00
Macdu
647614cf31 shader: Fix CMP(MSK) instruction 2023-12-31 12:27:52 +01:00
Macdu
7ff9fd820c renderer, shader: Rewrite regformat implementation 2023-12-31 12:06:59 +01:00
Macdu
adbd8c4a33 shader: Implement fx10 unpacking 2023-12-31 12:06:59 +01:00
Macdu
bef1567a61
renderer/vulkan: Implement async pipeline compilation (#3145) 2023-12-25 23:56:48 +01:00
Macdu
abac5b2a9c shader: Fix dual absolute + typo 2023-12-16 23:01:55 +01:00
Macdu
8c9da7ac46 shader: Fix constant loading 2023-12-16 23:01:55 +01:00
Macdu
3dd9788bcb
shader: Improve get_predicate (#3123) 2023-12-15 21:51:45 +01:00
bookmist
b4654e2bf1 gxm, renderer: refactoring, code cleanup & fix warnings 2023-12-15 14:05:19 +03:00
Macdu
c01996ec90
shader: Improve conditional move with integers (#3111) 2023-12-08 22:45:44 +01:00
Macdu
bfe743f108 shader: Do not sample to PA in secondary program 2023-10-22 12:23:08 +02:00
Macdu
6e126f8f12 shader: Fix loading of indexed values 2023-10-22 11:47:09 +02:00
Macdu
5014131509 shader: Fix vcomp with multiple dest components 2023-10-21 02:02:16 +02:00
Macdu
50cc5a25d7 shader: Implement bitwise rotation for src values 2023-10-15 19:50:39 +02:00
Macdu
73f0552943 shader: Fix loading of negative immediate values 2023-10-15 19:50:39 +02:00
Macdu
564417b3b6 shader: Increase repeat offset for GPI on mode both 2023-10-12 23:01:33 +02:00
Macdu
3140a0681b shader: Round before converting to integer 2023-10-07 10:51:11 +02:00
Macdu
d0bc57f516 shader: Implement texture viewport for texture projection 2023-10-01 18:07:50 +02:00
Macdu
2b575e6a02 renderer/vulkan, shader: Fix texture viewport without memory mapping 2023-09-27 09:26:31 +02:00
Macdu
d12c22ad1d renderer/vulkan, shader: Implement texture viewport 2023-09-24 14:53:47 +02:00
Macdu
5a54a47c61 shader: Improve Uniform info buffer 2023-09-24 14:53:47 +02:00
Macdu
9c1973b088 modules/SceGxm, shader: set default uniform buffer at position 0 2023-09-24 14:53:47 +02:00
Sergi Granell
15f170f00d
shader: Fix OpVectorShuffle not being immediates (#2934) 2023-09-18 22:35:15 +02:00
Sergi Granell
5393c53d02 shader: return nullptr after assert(false)
`assert()` is ignored on release builds.
Fixes many `may be used uninitialized` warnings.
2023-09-16 19:35:32 +02:00
Sergi Granell
1f77ea8894 shader: Use std::bit_cast (C++20) to convert float<->int
Fixes ` warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]` when compiling with `-Wall`.
2023-09-16 19:35:32 +02:00
scribam
df2ffeb48e
external: Update submodules (#2926)
* external: Update CLI11 to version v2.3.2

* external: Update MoltenVK to 1.2.5

* external: Update SPIRV-Cross to sdk-1.3.261.1

* external: Update Vulkan-Headers to v1.3.261

* external: Update capstone to 5.0.1

* external: Update cubeb

* external: Update dirent to 1.24

* external: Update fmt to 10.1.1

* external: Update glad to 2.0.4

* external: Update glslang to sdk-1.3.261.1

* external: Update googletest to v1.14.0

* external: Update imgui to version v1.89.9

* external: Update imgui_club

* external: Update miniz to version 3.0.2

* external: Update nativefiledialog-extended to version v1.1.0

* external: Update openssl to 3.1.2

* external: Update pugixml to version v1.13

* external: Update spdlog to v1.12.0

* external: Update stb

* external: Update tracy to v0.9.1

* external: Update vita-toolchain

* external: Update xxHash to v0.8.2

* external: Update yaml-cpp to version 0.8.0
2023-09-16 13:42:44 +02:00
Sergi Granell
e7897a4ed5 shader: Fix many warnings 2023-09-16 13:19:59 +02:00
scribam
34310c6087 vita3k: Prefer contains() instead of find() + end() 2023-09-14 13:05:23 +02:00
Macdu
ae7c756904 shader: Fix loading of constant INT32 2023-09-02 12:38:36 +02:00
Macdu
e9741a66e6 shader: Implement texture buffer 2023-09-02 12:38:36 +02:00
Macdu
c0bf14cb06 shader: Implement thread buffer 2023-09-02 12:38:36 +02:00
Zangetsu38
4ffb602b27 config & gui/settings dialog: Add Option to display system apps.
- For can allow disable disable display system apps from the home screen to the main menu bar only.
2023-08-18 15:43:32 +02:00
Macdu
7540bf7595 shader: Implement literal buffer access 2023-08-18 09:57:09 +02:00
Macdu
50cdf33525 shader: Implement vldst store repeat count 2023-08-17 19:18:34 +02:00
Macdu
8921b4e676 shader: Implement store operation 2023-08-17 19:18:34 +02:00