- client: fix bug where if you change project "no CPU/NVIDIA/ATI"

prefs and update, the change wouldn't take effect until client restart.
	- client: fix bug in enforcement of "no CPU/NVIDIA/ATI" prefs

svn path=/trunk/boinc/; revision=19236
This commit is contained in:
David Anderson 2009-10-03 00:19:11 +00:00
parent 833f417ae5
commit fb14ff8a7a
5 changed files with 21 additions and 6 deletions

View File

@ -8367,3 +8367,15 @@ David 2 Oct 2009
cs_statefile.cpp cs_statefile.cpp
lib/ lib/
error_numbers.h error_numbers.h
David 2 Oct 2009
- client: fix bug where if you change project "no CPU/NVIDIA/ATI"
prefs and update, the change wouldn't take effect until client restart.
- client: fix bug in enforcement of "no CPU/NVIDIA/ATI" prefs
client/
client_state.cpp
cs_account.cpp
work_fetch.cpp
lib/
coproc.cpp

View File

@ -277,7 +277,7 @@ int CLIENT_STATE::init() {
msg_printf(NULL, MSG_INFO, "Faking an NVIDIA GPU"); msg_printf(NULL, MSG_INFO, "Faking an NVIDIA GPU");
#endif #endif
#if 0 #if 0
fake_ati(coprocs, 2); fake_ati(coprocs, 1);
msg_printf(NULL, MSG_INFO, "Faking an ATI GPU"); msg_printf(NULL, MSG_INFO, "Faking an ATI GPU");
#endif #endif
coproc_cuda = (COPROC_CUDA*)coprocs.lookup("CUDA"); coproc_cuda = (COPROC_CUDA*)coprocs.lookup("CUDA");

View File

@ -92,6 +92,9 @@ int PROJECT::parse_account(FILE* in) {
char buf[256]; char buf[256];
int retval; int retval;
bool in_project_prefs = false; bool in_project_prefs = false;
no_cpu = false;
no_cuda = false;
no_ati = false;
strcpy(master_url, ""); strcpy(master_url, "");
strcpy(authenticator, ""); strcpy(authenticator, "");

View File

@ -74,9 +74,9 @@ bool RSC_WORK_FETCH::may_have_work(PROJECT* p) {
bool RSC_PROJECT_WORK_FETCH::compute_may_have_work(PROJECT* p, int rsc_type) { bool RSC_PROJECT_WORK_FETCH::compute_may_have_work(PROJECT* p, int rsc_type) {
switch(rsc_type) { switch(rsc_type) {
case RSC_TYPE_CPU: if (p->no_cpu) return false; case RSC_TYPE_CPU: if (p->no_cpu) return false; break;
case RSC_TYPE_CUDA: if (p->no_cuda) return false; case RSC_TYPE_CUDA: if (p->no_cuda) return false; break;
case RSC_TYPE_ATI: if (p->no_ati) return false; case RSC_TYPE_ATI: if (p->no_ati) return false; break;
} }
return (backoff_time < gstate.now); return (backoff_time < gstate.now);
} }

View File

@ -805,7 +805,7 @@ void COPROC_ATI::get(COPROCS& coprocs,
warnings.push_back(buf); warnings.push_back(buf);
return; return;
} }
switch (attribs.target) { switch ((int)attribs.target) {
case CAL_TARGET_600: case CAL_TARGET_600:
gpu_name="ATI Radeon HD 2900 (RV600)"; gpu_name="ATI Radeon HD 2900 (RV600)";
break; break;
@ -1049,7 +1049,7 @@ void COPROC_ATI::description(char* buf) {
void fake_ati(COPROCS& coprocs, int count) { void fake_ati(COPROCS& coprocs, int count) {
COPROC_ATI* cc = new COPROC_ATI; COPROC_ATI* cc = new COPROC_ATI;
strcpy(cc->type, "ATI"); strcpy(cc->type, "ATI");
strcpy(cc->version, "1.2.3"); strcpy(cc->version, "1.4.3");
cc->count = count; cc->count = count;
cc->attribs.numberOfSIMD = 32; cc->attribs.numberOfSIMD = 32;
cc->attribs.wavefrontSize = 32; cc->attribs.wavefrontSize = 32;