Module: wine Branch: master Commit: cfd280fd66b3824d6a9cec4c214e91c900d167ee URL: http://source.winehq.org/git/wine.git/?a=commit;h=cfd280fd66b3824d6a9cec4c21...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Thu Apr 23 20:23:23 2015 +0200
wined3d: Get rid of the tracing code in shader_vaddline().
---
dlls/wined3d/arb_program_shader.c | 6 +++++ dlls/wined3d/glsl_shader.c | 9 +++++++ dlls/wined3d/shader.c | 50 +++++++++++---------------------------- dlls/wined3d/wined3d_private.h | 2 -- 4 files changed, 29 insertions(+), 38 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index 39800f2..7a497d2 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -3262,6 +3262,12 @@ static BOOL shader_arb_compile(const struct wined3d_gl_info *gl_info, GLenum tar const char *ptr, *line; GLint native, pos;
+ if (TRACE_ON(d3d_shader)) + { + ptr = src; + while ((line = get_line(&ptr))) TRACE_(d3d_shader)(" %.*s", (int)(ptr - line), line); + } + GL_EXTCALL(glProgramStringARB(target, GL_PROGRAM_FORMAT_ASCII_ARB, strlen(src), src)); checkGLcall("glProgramStringARB()");
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index f1bf0a3..0f18019 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -344,7 +344,16 @@ static void print_glsl_info_log(const struct wined3d_gl_info *gl_info, GLuint id /* Context activation is done by the caller. */ static void shader_glsl_compile(const struct wined3d_gl_info *gl_info, GLuint shader, const char *src) { + const char *ptr, *line; + TRACE("Compiling shader object %u.\n", shader); + + if (TRACE_ON(d3d_shader)) + { + ptr = src; + while ((line = get_info_log_line(&ptr))) TRACE_(d3d_shader)(" %.*s", (int)(ptr - line), line); + } + GL_EXTCALL(glShaderSource(shader, 1, &src, NULL)); checkGLcall("glShaderSource"); GL_EXTCALL(glCompileShader(shader)); diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index c249c9a..7d0c47b 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -249,8 +249,6 @@ void shader_buffer_clear(struct wined3d_shader_buffer *buffer) { buffer->buffer[0] = '\0'; buffer->content_size = 0; - buffer->lineNo = 0; - buffer->newline = TRUE; }
BOOL shader_buffer_init(struct wined3d_shader_buffer *buffer) @@ -273,48 +271,28 @@ void shader_buffer_free(struct wined3d_shader_buffer *buffer)
int shader_vaddline(struct wined3d_shader_buffer *buffer, const char *format, va_list args) { - char *base = buffer->buffer + buffer->content_size; + unsigned int rem; int rc; char *new_buffer;
- while(1) + for (;;) { - rc = vsnprintf(base, buffer->buffer_size - buffer->content_size, format, args); - if (rc < 0 /* C89 */ || (unsigned int)rc >= buffer->buffer_size - buffer->content_size /* C99 */) - { - new_buffer = HeapReAlloc(GetProcessHeap(), 0, buffer->buffer, buffer->buffer_size * 2); - if (!new_buffer) - { - ERR("The buffer allocated for the shader program string is too small at %d bytes.\n", buffer->buffer_size); - buffer->content_size = buffer->buffer_size - 1; - return -1; - } - buffer->buffer = new_buffer; - buffer->buffer_size = buffer->buffer_size * 2; - base = buffer->buffer + buffer->content_size; - } - else - { + rem = buffer->buffer_size - buffer->content_size; + rc = vsnprintf(&buffer->buffer[buffer->content_size], rem, format, args); + + if (rc >= 0 /* C89 */ && (unsigned int)rc < rem /* C99 */) break; - } - }
- if (buffer->newline) - { - TRACE("GL HW (%u, %u) : %s", buffer->lineNo + 1, buffer->content_size, base); - buffer->newline = FALSE; - } - else - { - TRACE("%s", base); + if (!(new_buffer = HeapReAlloc(GetProcessHeap(), 0, buffer->buffer, buffer->buffer_size * 2))) + { + ERR("Failed to grow buffer.\n"); + buffer->buffer[buffer->content_size] = '\0'; + return -1; + } + buffer->buffer = new_buffer; + buffer->buffer_size = buffer->buffer_size * 2; } - buffer->content_size += rc; - if (buffer->buffer[buffer->content_size-1] == '\n') - { - ++buffer->lineNo; - buffer->newline = TRUE; - }
return 0; } diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index dd2a85a..ecbec5b 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -440,8 +440,6 @@ struct wined3d_shader_buffer char *buffer; unsigned int buffer_size; unsigned int content_size; - unsigned int lineNo; - BOOL newline; };
enum WINED3D_SHADER_INSTRUCTION_HANDLER