Jens Steube
4934e92cda
OpenCL Runtime: Workaround a problem of the AMD OpenCL GPU driver under macOS which results in false negatives due to changes in the kernel crypto library
3 years ago
Jens Steube
9bf0f36d0a
Get rid of MAYBE_VOLATILE for context position by replacing it with zero length check
3 years ago
Jens Steube
9813811493
Remove truncation of buffer in hc_enc_next() to workaround AMD JiT compiler (legacy) issue
3 years ago
Jens Steube
0439f0c4a1
Refactor UTF8 to UTF16 conversion from fixed size to a dynamic size using a context struct. This allows handle buffer sizes of arbitrary length for conversion
3 years ago
Jens Steube
b7dffd9259
Improve performance for UTF8->UTF16 conversion
...
Reverted d343e2c4a0
and ee26805138
Adds a test to decide whatever conversion technique to use. If all UTF8 characters are 7 bit, there's no need for regular conversion and we can stick to naive conversion.
3 years ago
Jens Steube
ee26805138
In UTF8 to UTF16 conversion, reserve enough room to handle very long UTF8 inputs
4 years ago
Jens Steube
d343e2c4a0
Added support for true UTF8 to UTF16 conversion in kernel crypto library
4 years ago
Jens Steube
4658e470a2
OpenCL Kernels: Added datatypes to literals of some 64 bit kernel constants
4 years ago
Jens Steube
5f57ab35b6
Rewrite MT[X][256] constants to MTX[256] constants in whirlpool hash
5 years ago
Jens Steube
193b4a38c7
Replace arrays in inc_hash_whirlpool.cl with scalar variables
5 years ago
Jens Steube
1de08570b3
Unroll whirlpool transform and get rid of shared memory access to s_RC[]
5 years ago
Jens Steube
525f8af200
Add v8x_from_v64_x to inc_common.cl
5 years ago
Jens Steube
633327d8b7
Rewrite Whirlpool hash with 64 bit instructions
5 years ago
Jens Steube
146ca73ff9
Workaround NVIDIA cubin error 'misaligned address' in -m 6100
5 years ago
Jens Steube
4c85c0e54f
Revert a671d501aa
5 years ago
Jens Steube
d0bd33c9d1
Rename CONSTANT_AS to CONSTANT_VK
5 years ago
Jens Steube
89119bf24a
Add missing inc_platform.h include
6 years ago
Jens Steube
38c1029f2e
Need volatile for IRIS GPU on Mac OSX for -m 2500 and -m 2501
6 years ago
jsteube
74e3ede391
Test optimization for kernel include in pure mode
6 years ago
jsteube
a671d501aa
Optimize some xxx_hmac_init functions
6 years ago
jsteube
c34f75fe2d
Optimize some xxx_hmac_final functions
6 years ago
jsteube
9ced13cc94
Get rid of CONSTSPEC macro in OpenCL kernels
6 years ago
jsteube
66d94b06e4
Get rid of src/rp_kernel_on_cpu.c and src/rp_kernel_on_cpu_optimized.c and use OpenCL emulated kernel version
6 years ago
jsteube
e80b1838e8
Rename some functions in inc_common.cl to avoid conflicts with bitops.c
6 years ago
jsteube
adeeaee84a
Replace __kernel, __constant, __global and __local qualifiers with macro for better control
6 years ago
jsteube
7d4bea41a0
Get rid of OpenCL/inc_hash_constants.h and OpenCL/inc_hash_functions.cl
6 years ago
jsteube
218322f630
Support for inline VeraCrypt PIM Brute-Force
6 years ago
jsteube
84d6b8ecc1
Add function prototypes in OpenCL kernels to make some compilers happy
6 years ago
jsteube
dc9279c95c
New Strategy: Instead of using volatile, mark the mode as unstable. Remove all volatiles
6 years ago
jsteube
f4e43da456
Fix whirlpool final() handling
6 years ago
jsteube
6469357c74
Remove SCR_TYPE macro from OpenCL code
...
Disable REAL_SHM access to AMD platform devices
6 years ago
jsteube
dad05d9f69
Testing: Workaround some AMD OpenCL runtime segmentation faults
6 years ago
Jens Steube
02a2495349
Switched array pointer types in function declarations in order to be compatible with OpenCL 2.0
6 years ago
Jens Steube
a15c165773
Revert the pos == 0 change due to some unexpected results on nvidia
7 years ago
jsteube
b626e7f61b
Optimize update functions in inc_hash_* helper files by testing for pos == 0
7 years ago
jsteube
5951207365
Get rid of some old volatiles
7 years ago
jsteube
e4e1c1d515
We can't mix inline functions with static constants
7 years ago
jsteube
3e08750900
OpenCL Kernels: Add general function declaration keyword (static inline)
7 years ago
jsteube
53f3da9f63
OpenCL Kernels: Use static declaraction for uXXa variables used in __constant space
7 years ago
jsteube
503f676cb0
Remove static keywords from OpenCL functions, they can cause old NV JiT compiler to fail
7 years ago
jsteube
51dd982b12
Bring back some volatile for AMD
7 years ago
jsteube
9125062ffc
Move volatiles for AMD closer to the problem
7 years ago
Jens Steube
63f6ca5114
Do not use __local memory for whirlpool if running on a device without physical shared memory
7 years ago
jsteube
938c281ee0
Resurrect some volatile variables in order to correctly compile pure kernels on AMD drivers
7 years ago
jsteube
967e96728d
Make all the OpenCL kernel function includes static
7 years ago
jsteube
a228e296da
Fix some whirlpool vector function declaration
7 years ago
jsteube
5e34ec348e
Optimize kernels for ROCm 1.6
...
- Remove inline keywords
- Remove volatile keywords where it causes ROCm to slow down
- Replace DES functions (looks like bitselect somehow is no longer mapped to BFI_INT)
7 years ago
jsteube
eae9329761
Workaround some AMD JiT compiler segfault on complex kernels
7 years ago
jsteube
7205f450dd
Backport more HMAC functions in inc_hash_xxx.cl from global to private
7 years ago
jsteube
4e0972ce3a
Add xxx_update_vector_swap(), xxx_update_vector_utf16le_swap() and xxx_update_vector_utf16beN() for later use
7 years ago