mirror of
https://github.com/vortexgpgpu/vortex.git
synced 2025-04-23 21:39:10 -04:00
minor update
This commit is contained in:
parent
1332fd1b67
commit
90e4a800d5
8 changed files with 632 additions and 616 deletions
|
@ -5,6 +5,9 @@
|
|||
|
||||
struct kernel_arg_t {
|
||||
uint32_t num_tasks;
|
||||
uint32_t format;
|
||||
uint32_t filter;
|
||||
uint32_t wrap;
|
||||
uint32_t src_width;
|
||||
uint32_t src_height;
|
||||
uint32_t src_stride;
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -44,9 +44,9 @@ int main() {
|
|||
vx_csr_write(CSR_TEX_MIPOFF(0), 0);
|
||||
vx_csr_write(CSR_TEX_WIDTH(0), ilog2(arg->src_width));
|
||||
vx_csr_write(CSR_TEX_HEIGHT(0), ilog2(arg->src_height));
|
||||
vx_csr_write(CSR_TEX_FORMAT(0), 0);
|
||||
vx_csr_write(CSR_TEX_WRAP(0), 0);
|
||||
vx_csr_write(CSR_TEX_FILTER(0), 0);
|
||||
vx_csr_write(CSR_TEX_FORMAT(0), arg->format);
|
||||
vx_csr_write(CSR_TEX_WRAP(0), (arg->wrap << 2) | arg->wrap);
|
||||
vx_csr_write(CSR_TEX_FILTER(0), arg->filter);
|
||||
|
||||
struct tile_arg_t targ;
|
||||
targ.karg = *arg;
|
||||
|
|
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
@ -22,6 +22,8 @@
|
|||
const char* kernel_file = "kernel.bin";
|
||||
const char* input_file = "toad.tga";
|
||||
const char* output_file = "output.tga";
|
||||
int wrap = 0;
|
||||
int filter = 0;
|
||||
float scale = 1.0f;
|
||||
|
||||
vx_device_h device = nullptr;
|
||||
|
@ -29,12 +31,12 @@ vx_buffer_h buffer = nullptr;
|
|||
|
||||
static void show_usage() {
|
||||
std::cout << "Vortex Texture Test." << std::endl;
|
||||
std::cout << "Usage: [-k: kernel] [-i image] [-o image] [-s scale] [-h: help]" << std::endl;
|
||||
std::cout << "Usage: [-k: kernel] [-i image] [-o image] [-s scale] [-w wrap] [-f filter] [-h: help]" << std::endl;
|
||||
}
|
||||
|
||||
static void parse_args(int argc, char **argv) {
|
||||
int c;
|
||||
while ((c = getopt(argc, argv, "i:o:k:h?")) != -1) {
|
||||
while ((c = getopt(argc, argv, "i:o:k:w:f:h?")) != -1) {
|
||||
switch (c) {
|
||||
case 'i':
|
||||
input_file = optarg;
|
||||
|
@ -45,6 +47,12 @@ static void parse_args(int argc, char **argv) {
|
|||
case 's':
|
||||
scale = std::stof(optarg, NULL);
|
||||
break;
|
||||
case 'w':
|
||||
wrap = std::atoi(optarg);
|
||||
break;
|
||||
case 'f':
|
||||
filter = std::atoi(optarg);
|
||||
break;
|
||||
case 'k':
|
||||
kernel_file = optarg;
|
||||
break;
|
||||
|
@ -151,19 +159,22 @@ int main(int argc, char *argv[]) {
|
|||
// upload kernel argument
|
||||
std::cout << "upload kernel argument" << std::endl;
|
||||
{
|
||||
kernel_arg.num_tasks = std::min<uint32_t>(num_tasks, dst_height);
|
||||
kernel_arg.num_tasks = std::min<uint32_t>(num_tasks, dst_height);
|
||||
kernel_arg.format = (src_bpp == 1) ? 5 : (src_bpp == 2) ? 1 : 0;
|
||||
kernel_arg.filter = filter;
|
||||
kernel_arg.wrap = wrap;
|
||||
|
||||
kernel_arg.src_width = src_width;
|
||||
kernel_arg.src_height = src_height;
|
||||
kernel_arg.src_stride = src_bpp;
|
||||
kernel_arg.src_pitch = src_bpp * src_width;
|
||||
kernel_arg.src_ptr = src_addr;
|
||||
kernel_arg.src_width = src_width;
|
||||
kernel_arg.src_height = src_height;
|
||||
kernel_arg.src_stride = src_bpp;
|
||||
kernel_arg.src_pitch = src_bpp * src_width;
|
||||
kernel_arg.src_ptr = src_addr;
|
||||
|
||||
kernel_arg.dst_width = dst_width;
|
||||
kernel_arg.dst_height = dst_height;
|
||||
kernel_arg.dst_stride = dst_bpp;
|
||||
kernel_arg.dst_pitch = dst_bpp * dst_width;
|
||||
kernel_arg.dst_ptr = dst_addr;
|
||||
kernel_arg.dst_width = dst_width;
|
||||
kernel_arg.dst_height = dst_height;
|
||||
kernel_arg.dst_stride = dst_bpp;
|
||||
kernel_arg.dst_pitch = dst_bpp * dst_width;
|
||||
kernel_arg.dst_ptr = dst_addr;
|
||||
|
||||
auto buf_ptr = (int*)vx_host_ptr(buffer);
|
||||
memcpy(buf_ptr, &kernel_arg, sizeof(kernel_arg_t));
|
||||
|
|
|
@ -17,7 +17,7 @@ module VX_tex_stride #(
|
|||
`TEX_FORMAT_L8A8: log_stride_r = 1;
|
||||
`TEX_FORMAT_R5G6B5: log_stride_r = 1;
|
||||
`TEX_FORMAT_R4G4B4A4: log_stride_r = 1;
|
||||
// `TEX_FORMAT_R8G8B8A8
|
||||
//`TEX_FORMAT_R8G8B8A8
|
||||
default: log_stride_r = 2;
|
||||
endcase
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue