From 704e9573dc4a4480edbf855ecd5ab7838398843d Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Wed, 20 Sep 2017 23:22:20 +0200 Subject: [PATCH] Use WIDTH and HEIGHT some places instead of 1280 and 720. narabu is still not ready for anything but 1280px wide, though. --- narabu.cpp | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/narabu.cpp b/narabu.cpp index 2eb29dc..49afa9a 100644 --- a/narabu.cpp +++ b/narabu.cpp @@ -179,7 +179,7 @@ int main(int argc, char **argv) check_error(); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); check_error(); - glTexImage2D(GL_TEXTURE_2D, 0, GL_R16I, 1280, 720, 0, GL_RED_INTEGER, GL_SHORT, nullptr); + glTexImage2D(GL_TEXTURE_2D, 0, GL_R16I, WIDTH, HEIGHT, 0, GL_RED_INTEGER, GL_SHORT, nullptr); check_error(); GLuint out_tex; @@ -189,8 +189,8 @@ int main(int argc, char **argv) glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - glTexImage2D(GL_TEXTURE_2D, 0, GL_R8, 1280, 720, 0, GL_RED, GL_UNSIGNED_BYTE, nullptr); - //glTexImage2D(GL_TEXTURE_2D, 0, GL_R32F, 1280, 720, 0, GL_RED, GL_FLOAT, nullptr); + glTexImage2D(GL_TEXTURE_2D, 0, GL_R8, WIDTH, HEIGHT, 0, GL_RED, GL_UNSIGNED_BYTE, nullptr); + //glTexImage2D(GL_TEXTURE_2D, 0, GL_R32F, WIDTH, HEIGHT, 0, GL_RED, GL_FLOAT, nullptr); check_error(); GLint cum2sym_tex_pos = glGetUniformLocation(glsl_program_num, "cum2sym_tex"); @@ -262,8 +262,10 @@ int main(int argc, char **argv) #define PARALLEL_SLICES 1 steady_clock::time_point start = steady_clock::now(); - for (int i = 0; i < 1000; ++i) - glDispatchCompute(1, (45+PARALLEL_SLICES-1)/PARALLEL_SLICES, 1); + for (int i = 0; i < 1000; ++i) { + unsigned num_slices = (WIDTH/8)*(HEIGHT/8)/320; + glDispatchCompute(1, (num_slices+PARALLEL_SLICES-1)/PARALLEL_SLICES, 1); + } check_error(); glFinish(); steady_clock::time_point now = steady_clock::now(); @@ -299,7 +301,7 @@ int main(int argc, char **argv) } printf("\n"); - unsigned char *data = new unsigned char[1280 * 720]; + unsigned char *data = new unsigned char[WIDTH * HEIGHT]; glGetTexImage(GL_TEXTURE_2D, 0, GL_RED, GL_UNSIGNED_BYTE, data); check_error(); printf("%d err=0x%x bufsize=%zu\n", __LINE__, glGetError(), coded.size()); @@ -308,7 +310,7 @@ int main(int argc, char **argv) for (int k = 0; k < 4; ++k) { for (int y = 0; y < 8; ++y) { for (int x = 0; x < 8; ++x) { - printf("%3d ", data[y * 1280 + x + k*8]); + printf("%3d ", data[y * WIDTH + x + k*8]); } printf("\n"); } @@ -319,8 +321,8 @@ int main(int argc, char **argv) for (int k = 0; k < 4; ++k) { for (int y = 0; y < 8; ++y) { for (int x = 0; x < 8; ++x) { - //printf("%5.2f ", data[(y+8) * 1280 + x + (1272-k*8)]); - printf("%3d ", data[y * 1280 + x + k*8]); + //printf("%5.2f ", data[(y+8) * WIDTH + x + (1272-k*8)]); + printf("%3d ", data[y * WIDTH + x + k*8]); } printf("\n"); } @@ -330,10 +332,10 @@ int main(int argc, char **argv) #endif FILE *fp = fopen("narabu.pgm", "wb"); - fprintf(fp, "P5\n1280 720\n255\n"); - for (int y = 0; y < 720; ++y) { - for (int x = 0; x < 1280; ++x) { - int k = lrintf(data[y * 1280 + x]); + fprintf(fp, "P5\n%d %d\n255\n", WIDTH, HEIGHT); + for (int y = 0; y < HEIGHT; ++y) { + for (int x = 0; x < WIDTH; ++x) { + int k = lrintf(data[y * WIDTH + x]); if (k < 0) k = 0; if (k > 255) k = 255; putc(k, fp); @@ -341,7 +343,7 @@ int main(int argc, char **argv) } fclose(fp); - int16_t *coeff_data = new int16_t[1280 * 720]; + int16_t *coeff_data = new int16_t[WIDTH * HEIGHT]; glBindTexture(GL_TEXTURE_2D, coeff_tex); check_error(); glGetTexImage(GL_TEXTURE_2D, 0, GL_RED_INTEGER, GL_SHORT, coeff_data); @@ -349,7 +351,7 @@ int main(int argc, char **argv) for (int k = 0; k < 4; ++k) { for (int y = 0; y < 8; ++y) { for (int x = 0; x < 8; ++x) { - printf("%3d ", coeff_data[y * 1280 + x + k*8]); + printf("%3d ", coeff_data[y * WIDTH + x + k*8]); } printf("\n"); } -- 2.39.2