From 52d6e7ca37fd0092484669607e360db9a0c5a153 Mon Sep 17 00:00:00 2001 From: Ycros Date: Tue, 5 Jul 2011 21:31:24 +1000 Subject: [PATCH] Fixed fread issues under Windows. --- ocl.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/ocl.c b/ocl.c index cb951827..4b64815f 100644 --- a/ocl.c +++ b/ocl.c @@ -14,7 +14,7 @@ #else #include #include - #include + #include #endif #include @@ -31,7 +31,7 @@ extern int opt_worksize; char *file_contents(const char *filename, int *length) { - FILE *f = fopen(filename, "r"); + FILE *f = fopen(filename, "rb"); void *buffer; if (!f) { @@ -88,7 +88,7 @@ int clDevicesNum() { if (!strcmp(pbuff, "Advanced Micro Devices, Inc.")) { break; - } + } } free(platforms); } @@ -384,7 +384,7 @@ _clState *initCl(unsigned int gpu, char *name, size_t nameSize) strcat(binaryfilename, numbuf); strcat(binaryfilename, ".bin"); - binaryfile = fopen(binaryfilename, "r"); + binaryfile = fopen(binaryfilename, "rb"); if (!binaryfile) { if (opt_debug) applog(LOG_DEBUG, "No binary found, generating from source"); @@ -420,7 +420,7 @@ _clState *initCl(unsigned int gpu, char *name, size_t nameSize) } if (opt_debug) applog(LOG_DEBUG, "Loaded binary image %s", binaryfilename); - + free(binaries[gpu]); goto built; } @@ -479,7 +479,7 @@ build: applog(LOG_DEBUG, "cl_amd_media_ops not found, will not BFI_INT patch"); clState->program = clCreateProgramWithSource(clState->context, 1, (const char **)&source, sourceSize, &status); - if (status != CL_SUCCESS) + if (status != CL_SUCCESS) { applog(LOG_ERR, "Error: Loading Binary into cl_program (clCreateProgramWithSource)"); return NULL; @@ -487,7 +487,7 @@ build: /* create a cl program executable for all the devices specified */ status = clBuildProgram(clState->program, 1, &devices[gpu], NULL, NULL, NULL); - if (status != CL_SUCCESS) + if (status != CL_SUCCESS) { applog(LOG_ERR, "Error: Building Program (clBuildProgram)"); size_t logSize; @@ -496,7 +496,7 @@ build: char *log = malloc(logSize); status = clGetProgramBuildInfo(clState->program, devices[gpu], CL_PROGRAM_BUILD_LOG, logSize, log, NULL); applog(LOG_INFO, "%s", log); - return NULL; + return NULL; } status = clGetProgramInfo( clState->program, CL_PROGRAM_BINARY_SIZES, sizeof(size_t)*nDevices, binary_sizes, NULL ); @@ -559,7 +559,7 @@ build: } clState->program = clCreateProgramWithBinary(clState->context, 1, &devices[gpu], &binary_sizes[gpu], (const unsigned char **)&binaries[gpu], &status, NULL); - if (status != CL_SUCCESS) + if (status != CL_SUCCESS) { applog(LOG_ERR, "Error: Loading Binary into cl_program (clCreateProgramWithBinary)"); return NULL; @@ -570,7 +570,7 @@ build: free(rawsource); /* Save the binary to be loaded next time */ - binaryfile = fopen(binaryfilename, "w"); + binaryfile = fopen(binaryfilename, "wb"); if (!binaryfile) { /* Not a fatal problem, just means we build it again next time */ if (opt_debug) @@ -593,7 +593,7 @@ built: /* create a cl program executable for all the devices specified */ status = clBuildProgram(clState->program, 1, &devices[gpu], NULL, NULL, NULL); - if (status != CL_SUCCESS) + if (status != CL_SUCCESS) { applog(LOG_ERR, "Error: Building Program (clBuildProgram)"); size_t logSize; @@ -602,7 +602,7 @@ built: char *log = malloc(logSize); status = clGetProgramBuildInfo(clState->program, devices[gpu], CL_PROGRAM_BUILD_LOG, logSize, log, NULL); applog(LOG_INFO, "%s", log); - return NULL; + return NULL; } /* get a kernel object handle for a kernel with the given name */