From d8f31d2e81fa1669445b98b3853c99d34103d448 Mon Sep 17 00:00:00 2001 From: MitchellHansen Date: Sun, 10 Jan 2016 12:55:06 -0800 Subject: [PATCH] Oh my, it worked. Clean up time --- Conway_OpenCL/Conway.hpp | 35 +++++++++++++++++++-------------- Conway_OpenCL/conway_compute.cl | 22 +++++++++------------ 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/Conway_OpenCL/Conway.hpp b/Conway_OpenCL/Conway.hpp index 5c78d4b..5768bde 100644 --- a/Conway_OpenCL/Conway.hpp +++ b/Conway_OpenCL/Conway.hpp @@ -334,21 +334,6 @@ int main(int argc, char* argv[]) // Work size, for each y line size_t global_work_size[1] = { 10 }; - status = clEnqueueAcquireGLObjects(commandQueue, 1, &frontBuffer, 0, 0, 0); - glFinish(); - status = clEnqueueNDRangeKernel(commandQueue, compute_kernel, 1, NULL, global_work_size, NULL, 0, NULL, NULL); - glFinish(); - //status = clEnqueueReadBuffer(commandQueue, frontBuffer, CL_TRUE, 0, GRID_WIDTH * GRID_HEIGHT * 4 * sizeof(unsigned char), (void*)pixel_array, 0, NULL, NULL); - - status = clEnqueueReleaseGLObjects(commandQueue, 1, &frontBuffer, 0, NULL, NULL); - glFinish(); - - // ======================================= Rendering Shtuff ================================================= - - glfwPollEvents(); - - // Render - glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, texture); glUniform1i(glGetUniformLocation(ourShader.Program, "ourTexture1"), 0); @@ -359,6 +344,26 @@ int main(int argc, char* argv[]) glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0); glBindVertexArray(0); + glFinish(); + + status = clEnqueueAcquireGLObjects(commandQueue, 1, &frontBuffer, 0, 0, 0); + + status = clEnqueueNDRangeKernel(commandQueue, compute_kernel, 1, NULL, global_work_size, NULL, 0, NULL, NULL); + + //status = clEnqueueReadBuffer(commandQueue, frontBuffer, CL_TRUE, 0, GRID_WIDTH * GRID_HEIGHT * 4 * sizeof(unsigned char), (void*)pixel_array, 0, NULL, NULL); + + status = clEnqueueReleaseGLObjects(commandQueue, 1, &frontBuffer, 0, NULL, NULL); + + clFinish(commandQueue); + + // ======================================= Rendering Shtuff ================================================= + + glfwPollEvents(); + + // Render + + + // Swap the screen buffers glfwSwapBuffers(gl_window); diff --git a/Conway_OpenCL/conway_compute.cl b/Conway_OpenCL/conway_compute.cl index a436b4c..acbdf9b 100644 --- a/Conway_OpenCL/conway_compute.cl +++ b/Conway_OpenCL/conway_compute.cl @@ -4,22 +4,18 @@ __kernel void conway_compute(__write_only image2d_t front_grid, __global int* nu //int width = *grid_width; //int height = grid_height; -int2 pixelcoord = (int2) (get_global_id(0), get_global_id(1)); -//if (pixelcoord.x < width && pixelcoord.y < height) -//{ - //float4 pixel = read_imagef(image1, sampler, (int2)(pixelcoord.x, pixelcoord.y)); - float4 black = (float4)(0,0,0,0); + for (int i = 0; i < 90000; i ++){ + int2 pixelcoord = (int2) (i % *grid_width, i / *grid_height); + //if (pixelcoord.x < width && pixelcoord.y < height) + //{ + //float4 pixel = read_imagef(image1, sampler, (int2)(pixelcoord.x, pixelcoord.y)); + int4 black = (int4)(0,0,0,0); - // write_imagef(front_grid, pixelcoord, black); + //write_imagef(front_grid, pixelcoord, black); + write_imagei(front_grid, pixelcoord, black); - int num = *grid_width * *grid_height * 4; - - for (int i = 0; i < num ; i += 4){ - - write_imagef(front_grid, pixelcoord, black); -// - } +} //} } \ No newline at end of file